, , , - . - .
SPACESHIP. SPACESHIP_FLAT.
5NF
, . 1NF.
1NF 2NF, , , , , "" 1NF 2NF.
, , , , , 1NF 2NF, , 1NF 2NF.
, Codd 3NF . BCNF, 4NF, 5NF NF, , , 3NF .
, .
, , , , , . , nonse "".
, ( ), .
.. .
TYPE LV
, . , , .
.
, . , , , ( ).
. , ( , , ) .
- , , , , ( ) , .
UPDATE TYPE ID 5 SPACESHIP_FLAT, Soyuz Proto-Soyuz, 1 3 , . .
, UPDATE TYPE ID 1 SSTYPES, Soyuz Proto-Soyuz, , SSTYPES. . .
. , . , .
NB. . .
SPACESHIP ( ),
, , . , , .. .. ..,
.
, , - . , , . .
, . , , .
, , .
, .
.
, . Dr E F Codd. , , , ( ).
.
. . , , ( ), .
, , . ( ). , , , . , . , , , .
NAME. NAME TYPE - . " -14" "" . , TYPE.
( Relational terms, OO/ORM. , .)
NAME TYPE ( ).
. : , NAME TYPE, ( ).
.
Lookup, , , , () , , , , .
( Lookup), subject , Dependency is Identify. PK PK. .
SPACESHIP TYPE, SPACESHIP (a) TYPE (b) TYPE PK SPACESHIP PK.
, SPACESHIP TYPE LAUNCH_VEHICLE, TYPE LAUNCH_VEHICLE SPACESHIP.
LV NAME .
. . NAME LAUNCH_VEHICLE (LV), .
"" " -" " ", " -" " " .., "" , . *
.
, 1NF. "" , . ( ). (a) (b) LAUNCH_VEHICLE (c) , . TMA vs TM-XX TYPE, .
, (c). ; , ; .. .
- Discovery, Endeavour, Volna, Yenesei, Lena .. , NAME, (TYPE, LAUNCH_VEHICLE XXXX).
Soyuz ( ).
. , . . , (, , ).
- , , (--, SPACESHIP_FLAT SPACESHIP - ).
, " ". . , . , " " , , , , .
, . .
. . , , (, ) . , Relational Power, , , (, ).
(Date, Darwen, Fagin, Abitebul, et al) . , () () .
--; ; --, , .
, , - C. J. Date. - , ( ).
. , . , .
, , , , , .., , , - . , , , , , , , .
, SO ( ). , - , , , , , "" " ". .
, , . . . .
, , , - E F Codd. , , . , , .
. J. Date , 5NF ( SPACESHIP_FLAT).
-- . . . Codd 1NF, 2NF, 3F. . (, , ).
"", "" . "" 3NF, . "" " " , " " ( ). , BCNF, 4NF, 5NF. , , , .
, NF, , , , . Date Darwen 1NF, , . .
( , ), 5NF .
, 3NF, 5NF, , . , , , 5NF , 5NF, . 3NF , "" 5NF, , .
?
() (.. , , , ) () (.. " " )
.
, "" BCNF, 4NF, 5NF, NF, " " . .
, 36 , BCNF, 4NF 5NF, 3NF ( 3NF ).
- , " ", Codd 3NF, , "", , "" . , "" " " .
, , Codd 3NF, , .
2007 , 95% DKNF, Codd . 5% - SQL. 2007 , , 100% DKNF.
DKNF " " , , .
, , - . , : , , : ( ); ( , JOIN power); . RFS--; RFS-; RFS.
:
, , . , , .
NF. NF, .
, NF, Codd RM, , , , "" (a) (b) , , , .
, , .
" " , () , , () , " " , , (c) " " , .
(, ), . . , , .
, " " - . , , . ( , ), "" -, - , . , , .
: ?
. . , ; ; , , . , RFS.
. , . , .
, - Post-Codd Record ID, , RM. RFS, , .
, ID , , , ID , "". -.
- , JOINs?
? ? , , , . .
IDEF1X. IDEF1X - , 1987 ( 1993 ). , , ., , "". , .
, , ; ; ; ; ; ; - . IDEF1X. , .
, PF. , (a) FK (b) , RoleNames.
, . ( ). , . , Unix Inode ( , ), .
, "-", . ( , ) . "" - CHAR (X), , :
SELECT [Species] = T.Name,
[Activity] = A.Name
FROM Species S
JOIN Taxonomy T
ON S.SpeciesNo = T.TaxonomyNo
JOIN SpeciesActivity SA
ON S.SpeciesNo = SA.SpeciesNo
JOIN Activity A
ON SA.Activity = A.Activity
"--" , PRIMARY, VARCHAR?
. , , . , Relational, Key. ().
SpeciesActivity - .
ID , (SpeciesNo, Activity) , ; , .
.
PK, , .
, , . VARCHAR . VARCHAR - .
, , .
VARCHAR Keys , , , / .
, , , , . , . VARCHAR, , .
2
, , MySQL Workbench, , ?
, , freeware, myNONsql ( , ), , , .
. , . , , . , , . , , .
, ( SPACESHIP_FLAT), TYPE LV, SSTYPES LVEHICLES, FK.
.
, ; ID; SPACESHIP.TYPE LV . (a) () .
, . , , TYPE LV, FKs , , . , , CHAR (1) CHAR (2), .
, ENUM ID.
, , ( ) SPACESHIP ( JOIN Lookup).
SSTYPE
SS_Code Name
------- -------------
Sz Soyuz
SS Space Shuttle
Or Orion
C1 CST-100
D2 Dragon V2
SPACESHIP SS_Code LV_Code FK.
- [ual model] [al model].
, . , , : ) () ( "" , ).
, . ββ . ( - ).
, ( ). , vs , . ERwin , CASE ; ; ; , -.
, , . .
@PerformanceDBA , , , .
.
, : ?
. FK, (a) (b) , .
. "". . . , , . RM , -. , ( ) ..
- "", , . , "", ( , , ) . . .
"-", . .
, "" - , , ( ), "", ( ). , , () () () ( ) " ". , , , , "".
:
?