Title: Introduction to Relation Model
1?????????????????????Introduction to Relation
Model
???
?.?????? ????????
2??????????????????????????????????????
- ???????????????????? A Relational Model of Data
for Shared Data Banks - ??? Dr. Edgar Frank Codd (??????????? IBM
???????) - ??????????????????????? (???????? set) ????????
- ????????????????? Data Redundancy ??? Data
Inconsistency - ????????? Codd ???????????????????????????????????
????????????????????? - ??????????????????????????????????? ?????????????
Oracle ????????? Relational Software
3????????????????????????
- ????????? (database) ??????? ?????????????????????
???????????? ??????????????????????????????
??????????????????????????????????????????????????
?????????????????????????? ? ???? - ??????????????????? (Database Management System)
??????? ??????????????????????????????????????????
????????????????? ? ??????????????????????????????
? - ?????????????????????
- ?????????????????????????
- ?????????????????????????
- ??????????????????????????????????????????????????
????
4???????????????????(Database Management System
DBMS)
- ?????????????????????????
- ????????????????????????
- ????????????????????
- ??????????????????????????????????????????????????
5???????????????????(Database Management System
DBMS)
- DBMS ?????????????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????? - ??????????????????? ??????????????????????????????
???????? ????? ??????????????????????
??????????????????????????????????????????
?????????????? ?????? - Data Definition Language DDL
- Data Manipulation Language DML
- ????????????????????????? ???? Security,
Integrity ??? Recovery Control System
6???????????????????(Database Management System
DBMS)
- ??????????????????????????????????????
?????????????????? - ??????????????????????????????????????????
????????????????????????????????????????????????? - ??????????????????????????????????????????????????
?????? (File reorganization) - ?????????????????????????????????? Report
generator ???? Heading Report, Footing Report ???
Data Summarization - ??????????????????????????????????????????????????
??? (Performance Monitoring) - ???
7???????????(User Group)
- ??????????? ??????? ??????????????????????????????
??????????? ??????????????????????????????????????
??????????????????????? ?????? - ???????????? (End users)
- ????????????????? (Sophisticated user)
- ????????????? (Naïve user)
- ?????????????????? (Database Design)
- ??????????????? (Application Programmer)
- ??????????????? (Data Administrator DA)
8?????????????????? (Database Administrator DBA)
- ?????????????????? ??????? ???????????????????????
?? ?????? ?????????????????? ???????????????????? - ?????????????????????????????
- ?????????????
- ?????????????
- ??????????????????????????????????????????
????????????????????????????? ?????? - ??????????????? (Planning the Database)
- ??????????????????????????? (Preliminary Database
by Feasibility Study) - ????????????????????????? (Identifying User
Requirement)
9?????????????????? (Database Administrator DBA)
- ????????? ?????????? ?????????????????????????????
(Developing and Maintaining the Data Dictionary) - ??????????????????????? (Designing the Logical
Model) - ??????????????????????????? (Choosing DBMS)
- ??????????????????? (Developing the Physical
Model) - ?????????????? (Developing the Database)
- ????????????????????????????? (Creating and
Loading the Database) - ??????????????????????? (Developing User View)
- ????????????????????? (Developing and Enforcing
Data Standard) - ?????????????????????? (Developing and Enforcing
Application Program Standard)
10?????????????????? (Database Administrator DBA)
- ?????????????????????????? (Doing User Training)
- ??????????????????????????????????????????
(Ensuring Best Database Performance) - ??????????????? (Monitoring Performance)
- ???????? ????????????????????????? (Turing and
Reorganization) - ???????????????????????????????????????????
(Keeping Current On Database Improvements)
11??????????????????????????(Relational Database
Model)
- ?????????????????????????????? ???????????????????
?????????????? ???????????????????????????????????
??????????????????????????????????????????
????????????????????????????????????? ?.?.2513
(?.?.1970) ??? ??.????? (Dr.Codd) - ??????????????????????????????????????????????????
??????????????????????????????? (Table) ???? ?
????? ????????????????????? ??????????????????????
??????? (Relation) ??????????????????? ??????
12??????????????????????????(Relational Database
Model)
13??????????????????????????(Relational Database
Model)
- ???????????????? 2 ??????????????????????????????
(File) - ?????????? (File) ????????????????????????????????
?????????? (Tuple) - ???????????????????????????????????????
(Attribute) - ???????????????????????????? 1 ??????? (Record)
?????????????????????????????????? 1
????????????????????? - ???????????????????????????????????? 1 ?????
??????????????????????????????????? - ??????????????????????????????????????????????????
??? (Domain)
14??????????????????????????(Relational Database
Model)
- ??????????????????????????????????????????????????
???????????????? ?????????????? (Cardinality) - ??????????????????????????????????????????????????
???????????????? ? ????????????? (Degree)
???????? 6.1 ???????????????????????????????
15??????????????????????????(Relational Database
Model)
- ???????????????????????????????????????????????
??????????????????????????????????????????????????
????????????????????? ??????????????????????? (,)
??????????????????????????????????????????????? - ???????????(????????????????????? 1,
????????????????????? 2, ...., ???????????????????
??????) - ????????
- ???????(???????????, ????-????,
???????????-????????????, ???????) - EMPLOYEE(EMP_ID,NAME,DEPT,SALARY)
?????? 6.2 ???????????? ??????????????? EMPLOYEE
16???????????????????(Relational Properties)
- ?????????????????????????????????? 1 ???????????
- ???????????????????????? ? ???????????????????????
??????? ??????????????????????????????????????????
??? - ????????????????????????????????????
?????????????????????? ???????????????????????????
??????????????????????????? - ????????????????????????????????????????
- ?????????????????????????????????????????????????
- ??????????????????????????????????????????????????
???????????
17???????????????????(Relational Properties)
- ?????????????????????????????????????????????????
???????? 6.2 ?????????????????????????????????????
????????????????
18???????????????????????????????????????
- ?????? (Null Value)
- ??????????????????????????????????????????????????
?????????????? ???????????????????????????????????
??? ???????????????????????????????????????
?????? 6.3 ?????????????????????
19????????????????????????(Primary Key PK)
- ???????????????????????? ?????????????????????????
??????????????????????????????????????????????????
??????????????? ??????????? 3 ?????? ?????? - ??????????????????????????????????????????????????
???????????????? ? ??????????? (Unique) - ?????????????????????????? ???????????????????????
??????????????????????????????????????????????????
??????????????????????? ??????????????????????????
??????????????????????????????????????????????????
???????? - ????????????????????????????????????????? (Not
Null) - Ex. ???????(???????????, ????-????,
???????????-????????????, ???????)
20???????????????????????? (Foreign Key FK)
- ??????????????????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????? ??????????????????????
?????????????????????????????????????????????
???????????? (Null Value) ????????????????????????
??????????????????????????????????????????????????
?????????????????????????????? - ????????????????????????????????????????????????
?????????????????????? (Integrity Rule)
??????????????????????????????????????????????????
??? - ?????????????????????????????????????
??????????????????????????????????????? ???????
??????????????????????????????????????????????????
???????? ??? ??????????????????? ???????????????
??????????? ????????????? ??????????????????????
??????????????????????????????????????????? ??????
21???????????????????????? (Foreign Key FK)
- ????????(????????????, ????????????,
?????????????) - ?????????(?????????????, ?????????????,
???????????????)
(?) ???????????????
(?) ????????????????
?????? 6.4 ??????????????????????????????????????
22??????????? (Candidate Key)
- ??????????????????????????????????????????????????
?????????????????????????? ? ?????????????
??????????????????????????????????????????????????
????????? ????????????????????????????????????????
????????????????????????????????????? (Alternate
Key) ?????????????????????????????????????????????
- ???????(???????????,????-????,????,?????????,????
??????????)
?????? 6.5 ??????????????????
23??????????? (Candidate Key)
- ?????????????????????????????????????? ???????
???????? 6.5 ?????????????? ??????????? ???
?????????????????? ????????? ???????????
??????????????????????????????? ???
?????????????????? ?????????????????????????????
?????? ?????????????????? ??????????? ????
??????????? ??????????????????
???????????????????????????????????????? ?????? - -???????(???????????,????-????,????,?????????,??
????? ???????????) - -???????(???????????,????-????,????,?????????,??
????? ???????????)
24??????????????????????? (Candidate Key)
- ?????????????????????????????????????????????????
???????????????????????????? ???? ??????????????
??????????1 ?????? - ??????????1(????????????,???????????,??????????)
?????? 6.6 ??????????? ??????????1
25?????????????????? (Nonkey Attribute)
- ?????????????????????????????????????
??????????????????????????????????????????????????
???????????????????? - ??????????2(????????????,???????????,??????????,
??????????)
?????? 6.7 ??????????? ??????????2
26??????????????? (Integrity Rule)
- ?????????????????????????????????????????????????
?????????????? ???????????????????????????????????
?????????????????????? - ?????????????????? ?? 2 ?? ???
- ???????????????????????????? (Entity Integrity
Rule) - ?????????????????????????????? (Referential
Integrity Rule)
27???????????????????????????? (Entity Integrity
Rule)
- ???????????????????????????? (Entity Integrity
Rule) - ????????????????????????????????????
?????????????????????????????????????????????????
?????????????????? (Null Value) - ????????????????????????????????????????????????
???????????????????? ?????????????????????????????
??????????????????????????????????????????????????
??????????? - ???????????? ????????????????????????????????
??????????? ????????? 7.1 ??????????????????????
??????????? 3 ????????? 5 ?????????????????????
???????????? ????????????? ????????????
???????????????????????? - ???????????(????????????,????????????)
-
28???????????????????????????? (Entity Integrity
Rule)
?????????????????????????????????????????????????
?????????????????????????????????????????????????
????????????????? ????????????????????????????????
?
29???????????????????????????? (Entity Integrity
Rule)
???????? ????????????????????????????????????????
????????????? FEE ????????? 7.2
CREATE TABLE FEE (ACTIVITIES CHAR (20) PRIMARY
KEY NOT NULL, YERALY-FEE INTEGER)
30?????????????????????????????? (Referential
Integrity Rule)
??????????????????????????????????????
????????????????????? ??????????????????????????
??????????????????????????????????????????????????
??? ??????????????????????????? (Null
Value) ???????????????????? ???
?????????????????????????????????????????????
7.3 ??????(??????????,??????????,?????????????
) ?????????(?????????????,??????????????)
31?????????????????????????????? (Referential
Integrity Rule)
- ????????????????????????????????????????????????
?????????????? ???????????????????????????????????
??????? ??????????????????????????????????????????
???????????????????????????????????????????????
????????????????????????????????????????
??????????????????? ??????????????????????? 3
???? - ????????????????????? (RESTRICTED)
- ????????????????? (CASCADES)
- ???????????? (NULLIFIES)
32?????????????????????????????? (Referential
Integrity Rule)
- ?????????????? (Insertion)
- ??????????????????????????? ????????????????????
?????????????? ???????????????????????????????????
???????????? ??????????????????
??????????????????????????????????????????????????
????????????? ????????????????????????????????????
??? - ?????????????? 41209 31/05/44 ??????
??????????? ?????? ???????? 7.3
???????????????????????????? ?????????
???????????????????????? - ????????????????????????????????????????????????
????????????? ??? ???????????? ?
??????????????????????????????????????
?????????????? 41209 31/05/44 ??????
??????????? ?????? ???????? 7.3
??????????????????????????????? 7.4
33?????????????????????????????? (Referential
Integrity Rule)
34?????????????????????????????? (Referential
Integrity Rule)
- ????????????????????????? (Update)
- ????????????????????????????????????????????????
???????????????????? ????????????
?????????????????? ????????????????? ???????
????????? ????????? ???? ????????? - ????????????????????? (RESTRICTE)
- ??????????????????? ?????????????????????????????
??????????????????????? ??????????????????????????
???????????????????????????????????
????????????????????????????????????????????????
7.4 ?????????????? - ????????????????????????????????????????????????
?????????????????????????????????????????????
??????????????????????????????????
????????????????? ?????? ??????????????????
???????? 7.4 ???? ????????? ????????????????????
7.5
35?????????????????????????????? (Referential
Integrity Rule)
36?????????????????????????????? (Referential
Integrity Rule)
- ????????????????? (CASCADES)
- ????????????????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????????????
???????? - ???????? ???? ???????????????????????????????
??????? ????????? ????????? ???????? 7.4 ????
????????? ???????????? 7.6
37?????????????????????????????? (Referential
Integrity Rule)
38?????????????????????????????? (Referential
Integrity Rule)
- ???????????? (NULLIFIES)
- ????????????????????????????????????????????????
??????????????????????????????????????????????????
???????????????????????????????????????????? - ???????? ???? ???????????????????????????????
??????? ????????? ????????? ???????? 7.4 ????
????????? ???????????? 7.7
39?????????????????????????????? (Referential
Integrity Rule)
40?????????????????????????????? (Referential
Integrity Rule)
- ??????????? (Deletion)
- ????????????????????????????????????????????????
?????? ???????????????????????????????????????????
??????????????????????????????????????????????????
????? ????????????????????????????????????????????
- ????????????????????? (RESTRICTED)
- ??????????????????? ?????????????????????????????
????????????????? ????????????????????????????????
??????????????? ??? ???????????????????
??????????????????????????????????????????????????
???????????????????????????? - ??????????????????????????????? ???????
????????????? ????????? ???????? 7.4 ??????????
??????????????????????????????????????????
????????? ???? ?????? ?????????????
????????? ??????????? 7.4 ???
41?????????????????????????????? (Referential
Integrity Rule)
- ????????????????? (CASCADES)
- ????????????????????????????????????????????????
????????????? ????????????????????????????????????
??????????????????????????????????????????????? - ???????? ???? ??????????????????????????????
??????? ????????????? ????????? ???????? 7.8
???????????????
42?????????????????????????????? (Referential
Integrity Rule)
?????? 7.8 ???????????????????????????????????????
?????????????????????????????????????
43?????????????????????????????? (Referential
Integrity Rule)
- ???????????? (NULLIFIES)
- ??????????????????? ????????????????????????????
?????????????? ???????????????????????????????????
?????????????????????????????????????????????
??????????????????????????????????????????????????
???????????????????????????????????????? - ???????? ???? ??????????????????????????????
??????? ????????????? ????????? ???????? 7.4
???????????????????
44?????????????????????????????? (Referential
Integrity Rule)
45Relation Language
- Relational Database ????????????????????????????
???????????????????? 2 ???????? ??? - 1. Relational Algebra
- 2. Relational Calculus
- ????????????????? 2 ???? ??? Relational
Calculus ?????????????????????????????????????????
? (What?) ???????????????????????????????????
Relation Algebra ?????????????????????????????????
????????????????????? ???? ??????????????????
StudentID ??????? SubjectID ???????? Grade
????????????????????????????????? Student_Grade
??????? A ??????? - (Grade.StudentID, Grade.SubjectID) WHERE
Grade.Student_Grade A)
46Relational Language
- ???? Relational Algebra ??????????? DBMS
??????????????????????????????????????????????????
???????? ???? Relational Algebra
??????????????????????????????????????????????????
???????????????? (How?) ????????????????????
Relation Algebra ???? 8 ??? ??? Restrict,
Project, Product, Union, Intersect, Difference,
Join ??? Divide ???????? ???? - (Grade WHERE Student_Grade A StudentID,
StudentID
47Relational Language
- SQL(Structured Query Language) ????? Relational
Calculus ???????????????????????
???????????????????? SQL ?????????????????????????
???????????? ??????????????????????????????? SQL
????????????????????????????????????????????
Relational Calculus ????? DBMS ??????????????
Relational Algebra ???????????????????????????????
??????????????????????????????????????????????????
???????????????????? Relational Database
???????????????????????????? ?????????????????????
?????????????????????? ???????????????????????????
?????????????????????????? - ??????????????? SQL ????????????????????????? 3
????? ??? - 1. Data Definition Language
- 2. Data Manipulation Language
- 3. Data Control Language
-
48???????????????????????????????? (Data
Definition Language)
- ???????????????????????????????? (Data
Definition Language) - ????????????????????????? ?? ???????????????????
????????????? ??? ??? Index ?????? DDL ???????? 3
?????? - ?????? CREATE ????????????????????????????????????
??????????????????????????????????????????????????
???????? ?????????????????????????????????????????
????? ??????????????????????????????????????????
????????????????????????? - ?????? ALTER ?????????????????????????????????????
???????????????????????????? ???? - ?????? DROP ??????????????????????????????????????
????
49????????????????????????(Data Manipulation
Language)
- ???????????????????????? (Data Manipulation
Language) - DML ??????????????????????????????????????
??????????????????? 2 ????? - 1. Retrieval Operation (????????????????????????
?) 2. Update Operation (??????????????????????????
) -
50????????????????????????(Data Manipulation
Language)
- Retrieval Operation
- ?????? Select ??????????????????????????????????
????? ????????????????????????????????????????????
???????????????????????????????
????????????????????????????????????????????
Relational Database ?????????????? - Update Operation
- ?????? INSERT ??????????????????????????????????
????? ????????????????????????????????????????????
??????????????????? ?????????? ???????????????????
?????????????????????????????????? - ?????? UPDATE ??????????????????????????????????
????????????????? - ?????? DELETE ??????????????????????????????????
???????????????????????????????? ???? -
51???????????????????????????????(Data Control
Language)
- ??????????????????????????????? (Data Control
Language) - DDL ?????????????????????????????????????????????
???????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????? ??????????????????????????
??????????????????????????????????????????????????
?? -
52????????????????????????(Data Manipulation
Language)
- ??????????????????????????????????? 2 ??????
- ?????? GRANT ???????????????????????????????????
????????????????????????????????????????????????? - ?????? REVOKE ??????????????????????????????????
????????????????? ????????????????????????????????
?????????????????????????????????? - ?????????????????????????? Transaction 2 ??????
- ?????? COMMIT ??????????????????????????????????
?????? Transaction ?????? ???????????????
?????????????????????????????????? ??????????? - ?????? ROLLBACK ?????????????????????????
COMMIT ?????? Transaction ????????????????????????
????????? ROLLBACK ???????????????????????????????
????????? -
53??????????????? (Data Dictionary)
- ????????? ??????? ???????????????????????????????
? ???????????????????????????????????????????
???????? ???? - -???????????????
- -??????????????
- -???????????????
- -???????????????????????????????????????
(integrity rule) - -??????????????????????????????????????
(security rule) - ???
-