.
4.1.2.2. OR-
OR- (Object-Role - -) , ( ) ( ). ER- , ER- 2- ( ). . OR- . 4.12.
. 4.12. OR- |
OR- . - () , () - , ( ) - , , , .. . ( ) . ( - ). ( ). , M:N ( ; ). , U (uniqueness - ) ( ).
OR-, , ER-. , , , ; . : ER- , OR-. ER-. , (ER-), (OR-) . .. ER- OR- , OR-, ER-, .
4.2.
. , , , , , .
|
|
, , , . , , . . ,
. [17]: 1
1 1 1 1 1 1 1 .
1
. : , , , -. .
. - , , . , . - , . , , . .
. .
. : , , . , .
. SQL-92, .
i
. , . , ( ).
. , , , .
. . - . .
|
|
. .
1
. , . , , , .
. , , , . .
1
. , , .
. , . , .
. , .
Web-. Internet. Web.
. , .
1
(Transactions per Cent - ). , . - . , . - .
. , , : , - , , .
. . , .. , , .
1
- , , .
. , . , , .
|
|
. , . , , , . ( , , ..). .
. - , . , , . .
. , . . .
1
. , , .
, .
1
. .
. .
. , . , , .
, .
4.3.
, , . , , .
, . , .
ddl - : , , . (, , , .) - . :
CREATE TABLE
(
VARCHAR2(100) NOT NULL, VARCHAR2(80) NOT NULL, VARCHAR2(90) NOT NULL, _ DATE, VARCHAR2(100), VARCHAR2(10) NOT NULL, VARCHAR2(30)
|
|
);
3 ddl (data definition language) - , ,
4.4. CASE-,
CASE-, , , : Computer Associates AllFusion ERwin Data Modeler, Oracle Designer, Microsoft Office Visio, Sybase Power Designer, IDS Prof. Scheer ARIS .
2 , : Computer Associates All- Fusion ERwin Data Modeler Oracle Designer.
ERwin Data Modeler
] ERwin - , - .
] ERwin , .
] - -, , - ERwin .
] ERwin - , , , .
] , ERwin - , , . ERwin ( IDEF1X ) . .
] ERwin : . - , . ,
. - , . , . .
] ERwin IDEF1X (Integration DEFinition for Information Modeling). IDEF1X , . IDEF1X .
|
_ |
_ (FK) (FK) _ |
|
. 4.15. |
1 IDEF1X , : - (Entity-Relationship Diagram (ERD)) - , , - (. 4.13).
--------------- ~ | 1 | ||
_ |
. 4.13. - |
, (Key-Based Model ()) - , (. 4.14).
_ . 4.14. , |
IDEF1X : (Transformation Model ()) - , . , , (. 4.16).
|
|
ITEM______________
^ order_num: NUMBER (FK) ^ customerjd: NUMBER (FK) articlejd: NUMBER
quantity: INTEGER
. 4.16.
(DBMS Model) - , . ERwin . DDL- SQL:
CREATE TABLE CUSTOMER (
id NUMBER NOT NULL,
first name VARCHAR2(20) NULL, lastname CHAR(18) NULL, passportnum CHAR(18) NULL, birthday DATE NULL,
PRIMARY KEY (id));
CREATE TABLE ORDER (
id NUMBER NOT NULL,
ordernum NUMBER NOT NULL, makerid NUMBER NULL,
accept date DATE NULL, return date DATE NULL, PRIMARY KEY (id, order num), FOREIGN KEY (id)
REFERENCES CUSTOMER (id));
CREATE TABLE ORDER ITEM (
id NUMBER NOT NULL,
order num NUMBER NOT NULL, articlejd NUMBER NOT NULL, quantity INTEGER NULL,
PRIMARY KEY (order num, id, articlejd), FOREIGN KEY (id, order num)
CUSTOMER ORDER
|
REFERENCES ORDER (id, order num));
, ERwin - , .
Oracle Designer
Oracle Designer - , Oracle, 2 : . Oracle Designer ( ) API . , , , .. , API . , Oracle Designer. - , , , , , .
Oracle Designer:
] Entity-Relationship Diagrammer -
- ] Design Editor - , Design Editor, . 4.17.
J 3 (S
|
^ (Sis s| | |
Mm 1* | XI 1-1 |
*?8, | |
* | |
_ | |
* | |
* | |
\/ |
- |
^ (Sis sp | |
0 1 1 * | XI 1-1 |
* * | |
* | _ |
V
]] (Sis spravochnik)
|__ (Sis_ 1 11*11 |
1*1 1
^_ (Sis_spravochn | ||
i | 1 1* | 1 1-1 |
# * | 78, | _ _ _ |
# * | ||
# * | 78, | |
# * | _ | |
* | 78, |
V
^ (Sis spravochnik)
\ |
N 1*1 1 1-1
# * | _3 *- _ | |
* | /_ | |
* | ||
* | _ | |
* | ||
* | 78, | _ |
* | _ | |
1 | _ |
# * | 70, | |
* | ||
* | 78, | __| |
* | _ | |
* | ?8, | _ |
* | 78, | _- |
_ |
\/ |
^ (Sis sp | |
\ 1* | 1 1-1 |
# * 78, | 1\/__ |
* | |
* | |
?8 | |
. 4.17. , Design Editor
Oracle Designer Generate Database from Server Model, ddl_a .
4.5.
. .
: , , , , , , , , (, ), ( , , , , ), ( , , , ).
, : , , , : ( ), , (, , ) , , , . . .
, , , .
, , .
-, , (, , , ).
, 1 {, , , , , , ). , , , , , .
, .
, , , , . , ID , .. (ID , , , , ). , , , , , . , , .
(ID , , , . , , , , )
, .
(ID , , , , , )
, , .
(ID , , )
, , - ( ).
.
(ID . , )
(ID , . )
, , .
(ID , , , , , )
, . , ( ), , .
(ID , , , , ).
, .
, (ID ), . . .
(ID , , , , , , , , , )
, . , . .
(ID , , , , , , , , , , )
, , , .
, /
(ID , , ) (ID , , ) , .
(ID , , , , , )
IDEF1X .4.18.
. 4.18. IDEF1X |
ddl-, , .
CREATE TABLE (
NUMBER(4) NOT NULL PRIMARY KEY,
VARCHAR2(60) NOT NULL,
_ DATE NOT NULL, VARCHAR2(30) NOT NULL, VARCHAR2(100) NOT NULL
);
CREATE TABLE (
VARCHAR2(50) NOT NULL,
VARCHAR2(10) NOT NULL,
VARCHAR2(20) NOT NULL,
VARCHAR2(15) NOT NULL, _ VARCHAR2(18) NOT NULL, VARCHAR2(30) NOT NULL, _ DATE NOT NULL, _ DATE NULL, PRIMARY KEY (, , )
);
CREATE TABLE (
_ CHAR(18) NOT NULL, _ VARCHAR2(20) NOT NULL, VARCHAR2(30) NOT NULL,
VARCHAR2(30) NOT NULL,
_ VARCHAR2(5) NOT NULL, VARCHAR2(5) NOT NULL, PRIMARY KEY (_, )
);
CREATE TABLE (
_ CHAR(18) NOT NULL, VARCHAR2(50) NOT NULL,
_ DATE NOT NULL, PRIMARY KEY (_, )
);
CREATE TABLE (
_ VARCHAR2(18) NOT NULL, VARCHAR2(20) NOT NULL,
_ VARCHAR2(20) NOT NULL, PRIMARY KEY (_, )
);
CREATE TABLE (
_ CHAR(18) NOT NULL,
_ VARCHAR(IOO) NOT NULL, _11i1 DATE NOT NULL, PRIMARY KEY (_, _)
);
CREATE TABLE (
VARCHAR2(20) NOT NULL PRIMARY KEY, _ VARCHAR2(18) NOT NULL, _ VARCHAR2(50) NOT NULL, _ NUMBER(4) NOT NULL, VARCHAR2(30) NOT NULL, VARCHAR2(30) NOT NULL
);
CREATE TABLE _ (
_ VARCHAR2(18) NOT NULL, VARCHAR2(50) NOT NULL, VARCHAR2(30) NOT NULL,
_ DATE NOT NULL, _ DATE NULL,
PRIMARY KEY (_, , , _)
);
CREATE TABLE (
VARCHAR2(10) NOT NULL,
_ DATE NOT NULL,
_ VARCHAR2(18) NOT NULL, VARCHAR2(50) NOT NULL, VARCHAR2(3 0) NOT NULL, __ DATE NOT NULL, VARCHAR2(30) NOT NULL, VARCHAR2(10) NOT NULL, _ NUMBER(10,2) NOT NULL, __ VARCHAR2(500) NOT NULL, PRIMARY KEY ( , )
);
CREATE TABLE (
_ VARCHAR2(10) NOT NULL,
__ DATE NOT NULL, ___ DATE NOT NULL _ VARCHAR2(18) NOT NULL, VARCHAR2(50) NOT NULL, VARCHAR2(30) NOT NULL, __ DATE NOT NULL, VARCHAR2(30) NOT NULL, VARCHAR2(10) NOT NULL, _ NUMBER(10,2) NOT NULL, __ VARCHAR2(500) NOT NULL, PRIMARY KEY ( , , ___)
);
CREATE TABLE (
_ VARCHAR2(18) NOT NULL, _ VARCHAR2(30) NOT NULL, _ DATE NOT NULL,
PRIMARY KEY (_, , )
);
CREATE TABLE (
_ VARCHAR2(18) NOT NULL, VARCHAR2(30) NOT NULL, _ DATE NOT NULL,
PRIMARY KEY (_, , )
);
CREATE TABLE (
_ VARCHAR2(18) NOT NULL, _ VARCHAR2(50) NOT NULL, _ DATE NOT NULL,
_ NUMBER(4) NULL, VARCHAR2(30) NOT NULL, _ VARCHAR2(10) NOT NULL, PRIMARY KEY (_, _, _)
);
ALTER TABLE
ADD FOREIGN KEY (_) REFERENCES (); ALTER TABLE
ADD FOREIGN KEY (_) REFERENCES (); ALTER TABLE
ADD FOREIGN KEY (_) REFERENCES (); ALTER TABLE
ADD FOREIGN KEY (_) REFERENCES (); ALTER TABLE
ADD FOREIGN KEY (_) REFERENCES (); ALTER TABLE
ADD FOREIGN KEY (_) REFERENCES (); ALTER TABLE
ADD FOREIGN KEY (_) REFERENCES (); ALTER TABLE
ADD FOREIGN KEY (_) REFERENCES (); ALTER TABLE
ADD FOREIGN KEY (_) REFERENCES (); ALTER TABLE
ADD FOREIGN KEY (, ) REFERENCES _(_, ); ALTER TABLE
ADD FOREIGN KEY (_) REFERENCES (); ALTER TABLE
ADD FOREIGN KEY (_) REFERENCES (); ALTER TABLE
ADD FOREIGN KEY (_) REFERENCES ();
/
1) . : . . / . . - 2- ., . - .: , 1980. - 662 .
2) . . : . / . . . - 6- . - .; .; .: . - 2000. - 848 .
3) .. : . . / .. ; . .. ; .. . - 1981: , 1981. - 286 .
4) Godd E.F. A Relation Model of Data for Large Shared Data Banks. Communications of the ACM 13:6, 1970, P. 377-387.
5) History of IBM // http://www-03.ibm.com/ibm/history/
6) Andy Oppel. Databases Demystified. - San Francisco, CA: McGraw- Hill Osborne Media., 2006 - pp. 90-91. - ISBN 0-07-225364-9
7) ISO/IEC 9075-11:2008: Information and Definition Schemas (SQL/Schemata) // http://www.iso.org/iso/home.html
8) O'Reilly Network. An Interview with Chris Date by Tony Williams // http://www.oreillynet.eom/lpt/a/6060
9) Oracle Database SQL Reference lOg - Oracle Corporation, Release 2 (10.2), 2005.
10) ANSI Standard SQL Joins, by Jonathan Gennick: Oracle Magazine, no.6, 2001 (/oramag/oracle/01-nov/o6 lansi.html)
11) Barker R. Case* Method - Entity Relationship Modelling / R. Barker. - Addison Wesley Professional, Great Britain, 1990.
12) .., .. : . 2- ., . - : - , 1997. - 396 .: .
13) / . .. . - : - -, 1976. - 243 .
14) .., .., .., .. // . , 1975. .8. . 3-20.
15) . . / . . , . . // - , -, 2005.
16) Kim Y.-G. Comparing Data Modeling Formalisms / Y.-G. Kim, S.T. March // Communications of the ACM. - 1995. - Vol. 38, No. 6. - P. 103- 115.
17) . // www.interface.ru