<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Forum PostgreSQL - Migracja z Oracle na Postgresql]]></title>
	<link rel="self" href="http://forum.postgresql.org.pl/extern.php?action=feed&amp;tid=1482&amp;type=atom"/>
	<updated>2013-04-09T18:01:57Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.postgresql.org.pl/viewtopic.php?id=1482</id>
		<entry>
			<title type="html"><![CDATA[Odp: Migracja z Oracle na Postgresql]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=4136#p4136"/>
			<content type="html"><![CDATA[To zasadniczo zapomnij. Podany schemat ma się nijak do obiektowości w rozumieniu PostgreSQL'a.]]></content>
			<author>
				<name><![CDATA[depesz]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=1564</uri>
			</author>
			<updated>2013-04-09T18:01:57Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=4136#p4136</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Migracja z Oracle na Postgresql]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=4135#p4135"/>
			<content type="html"><![CDATA[Ogólnie chodziło by mi o to żeby mój wykładowca była zadowolony mi taka baza by wystarczyła ale tu chodzi o to żeby wykorzystać jak najwięcej obiektowych mechanizmów postgresql.]]></content>
			<author>
				<name><![CDATA[KargulGeek]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=1563</uri>
			</author>
			<updated>2013-04-09T17:14:47Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=4135#p4135</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Migracja z Oracle na Postgresql]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=4134#p4134"/>
			<content type="html"><![CDATA[ISBORROW wygląda mi (po nazwie) na pole typu "tak/nie", więc można by użyć typu bool.

Zamiast VARCHAR(4000) (co jest, z tego co wiem, "oraclizmem") można użyć po prostu "text".

Pola borrow_date/to_date, lepiej zdefiniować jako "date" - to uprości zapytania porównujące.

Zamiast tworzenia sekwencji, i potem dodawania numerica z nextvalem, można użyć po prostu "bigserial". Inny typ danych będzie użyty, ale wsadzanie wszędzie numericów, zamiast normalnych intów to też oraclizm.

Finalnie - zapisywanie telefonu jako liczby (numeric) jest w/g mnie błędem. Telefony mogą mieć różne elementy tekstowe (np. "wew."), a dodatkowo zapisanie ich jako liczby nie niesie żadnych plusów, poza lekko zmniejszonym zapotrzebowaniem na miejsce.

A co do pytania "nie była relacyjna tylko obiektowa?". A jak zdefiniujesz różnicę? Tzn. co potrzebujesz "obiektowego" w bazie danych, czego aktualne rozwiązanie nie zapewnia?]]></content>
			<author>
				<name><![CDATA[depesz]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=1564</uri>
			</author>
			<updated>2013-04-09T12:27:06Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=4134#p4134</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Migracja z Oracle na Postgresql]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=4133#p4133"/>
			<content type="html"><![CDATA[Baza PostgreSQL jest Relacyjno- Obiejtowa na podstawie skryptów tworzą się obiekty, które dalej są wykorzystywane w kodzie. Niestety nic więcej o nich nie wiem.]]></content>
			<author>
				<name><![CDATA[c_michal]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=627</uri>
			</author>
			<updated>2013-04-09T10:51:35Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=4133#p4133</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Migracja z Oracle na Postgresql]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=4131#p4131"/>
			<content type="html"><![CDATA[OO dziękuję:)

A jeszcze mam pytanko, czy dałoby się tutaj użyć jakichś mechanizmów obiektowych postgresql żeby baza nie była relacyjna tylko obiektowa ?]]></content>
			<author>
				<name><![CDATA[KargulGeek]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=1563</uri>
			</author>
			<updated>2013-04-09T08:25:06Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=4131#p4131</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Migracja z Oracle na Postgresql]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=4130#p4130"/>
			<content type="html"><![CDATA[Proszę

CREATE SEQUENCE BOOK_SEQ  MINVALUE 1 NO MAXVALUE INCREMENT BY 1 START WITH 1;
CREATE TABLE  BOOK 
   (    ID_BOOK     NUMERIC PRIMARY KEY DEFAULT nextval('BOOK_SEQ'), 
        TITLE       VARCHAR(4000), 
        AUTHOR      VARCHAR(4000), 
        YEAR        NUMERIC, 
        ISBORROW    NUMERIC NOT NULL 
   );

CREATE SEQUENCE BORROWED_SEQ  MINVALUE 1 NO MAXVALUE INCREMENT BY 1 START WITH 1;
CREATE TABLE BORROWED 
   (    ID_BORROWED NUMERIC PRIMARY KEY DEFAULT nextval('BORROWED_SEQ'), 
        ID_LIB_USER NUMERIC, 
        ID_BOOK     NUMERIC, 
        BORROW_DATE VARCHAR(4000), 
        TO_DATE     VARCHAR(4000)
   );

CREATE SEQUENCE LIBE_USER_SEQ  MINVALUE 1 NO MAXVALUE INCREMENT BY 1 START WITH 1;
CREATE TABLE LIBE_USER 
   (    ID_LIBE_USER NUMERIC PRIMARY KEY DEFAULT nextval('LIBE_USER_SEQ'),
        NAME         VARCHAR(4000), 
        SURNAME      VARCHAR(4000), 
        ADRESS       VARCHAR(4000), 
        TELEPHONE    NUMERIC
   );]]></content>
			<author>
				<name><![CDATA[c_michal]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=627</uri>
			</author>
			<updated>2013-04-09T06:53:27Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=4130#p4130</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Migracja z Oracle na Postgresql]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=4129#p4129"/>
			<content type="html"><![CDATA[Witajcie,

Jestem totalnie zielony z postgres-a i prosiłby o pomoc w przepisaniu poniższego kodu tak aby działał na postgresql.

[code]

CREATE TABLE  "BOOK" 
   (    "ID_BOOK" NUMBER, 
    "TITLE" VARCHAR2(4000), 
    "AUTHOR" VARCHAR2(4000), 
    "YEAR" NUMBER, 
    "ISBORROW" NUMBER NOT NULL ENABLE, 
     CONSTRAINT "BOOK_PK" PRIMARY KEY ("ID_BOOK") ENABLE
   )
/
CREATE SEQUENCE   "BOOK_SEQ"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER  NOCYCLE
/
CREATE OR REPLACE TRIGGER  "BI_BOOK" 
  before insert on "BOOK"               
  for each row  
begin   
    select "BOOK_SEQ".nextval into :NEW.ID_BOOK from dual; 
end; 
/
ALTER TRIGGER  "BI_BOOK" ENABLE
/
CREATE TABLE  "BORROWED" 
   (    "ID_BORROWED" NUMBER, 
    "ID_LIB_USER" NUMBER, 
    "ID_BOOK" NUMBER, 
    "BORROW_DATE" VARCHAR2(4000), 
    "TO_DATE" VARCHAR2(4000), 
     CONSTRAINT "BORROWED_PK" PRIMARY KEY ("ID_BORROWED") ENABLE
   )
/
CREATE SEQUENCE   "BORROWED_SEQ"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER  NOCYCLE
/
CREATE OR REPLACE TRIGGER  "BI_BORROWED" 
  before insert on "BORROWED"               
  for each row  
begin   
    select "BORROWED_SEQ".nextval into :NEW.ID_BORROWED from dual; 
end; 
/
ALTER TRIGGER  "BI_BORROWED" ENABLE
/
CREATE TABLE  "LIBE_USER" 
   (    "ID_LIBE_USER" NUMBER, 
    "NAME" VARCHAR2(4000), 
    "SURNAME" VARCHAR2(4000), 
    "ADRESS" VARCHAR2(4000), 
    "TELEPHONE" NUMBER, 
     CONSTRAINT "LIBE_USER_PK" PRIMARY KEY ("ID_LIBE_USER") ENABLE
   )
/
CREATE SEQUENCE   "LIBE_USER_SEQ"  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER  NOCYCLE
/
CREATE OR REPLACE TRIGGER  "BI_LIBE_USER" 
  before insert on "LIBE_USER"               
  for each row  
begin   
    select "LIBE_USER_SEQ".nextval into :NEW.ID_LIBE_USER from dual; 
end; 
/
ALTER TRIGGER  "BI_LIBE_USER" ENABLE
/
[/code]

Z góry dziękuję:)]]></content>
			<author>
				<name><![CDATA[KargulGeek]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=1563</uri>
			</author>
			<updated>2013-04-09T02:46:54Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=4129#p4129</id>
		</entry>
</feed>
