mirror of
https://github.com/jackyzha0/quartz.git
synced 2025-12-27 23:04:05 -06:00
vault backup: 2022-10-24 22:45:59
This commit is contained in:
parent
7d5f070ce4
commit
9b1c036922
@ -6,3 +6,14 @@ tags:
|
|||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
|
# 1 NF
|
||||||
|
- atomic attributes
|
||||||
|
- no multivalue/composite/nested relations
|
||||||
|
|
||||||
|
# 2 NF
|
||||||
|
- no nonprime attributes that are partially functionally dependent on primary key
|
||||||
|
|
||||||
|
# 3 NF
|
||||||
|
- remove nonprime attributes that are transitively dependent on primary key
|
||||||
|
|
||||||
|
# BCNF
|
||||||
|
|||||||
@ -28,9 +28,29 @@ Constraints
|
|||||||
- Ref Integrity: Foreign key
|
- Ref Integrity: Foreign key
|
||||||
- Functional Dependencies
|
- Functional Dependencies
|
||||||
- fd: when one value determines another e.g., sid -> sname, {sid, cid} -> grade
|
- fd: when one value determines another e.g., sid -> sname, {sid, cid} -> grade
|
||||||
- armstrong axioms:
|
- armstrong axioms: 
|
||||||
|
|
||||||
# Normal Forms
|
# Normal Forms
|
||||||
|
Help to prevent anomalies (update, delete, insert) by reducing redundancy
|
||||||
|
|
||||||
|
e.g.,
|
||||||
|
```
|
||||||
|
bad:
|
||||||
|
Student_Course(sid, sname, address, cid, cname, grade)
|
||||||
|
|
||||||
|
good:
|
||||||
|
Student(sid,sname,address)
|
||||||
|
Course(cid,cname)
|
||||||
|
nrolled(sid,cid,grade)
|
||||||
|
```
|
||||||
|
|
||||||
|
done through process of decomposition: breaking down schema into set of schemas while preserving:
|
||||||
|
- attributes
|
||||||
|
- dependencies
|
||||||
|
- lossless joins
|
||||||
|
|
||||||
|
Various degrees of normalisatin defined by normal forms:
|
||||||
[Normal Forms](notes/Normal-Forms)
|
[Normal Forms](notes/Normal-Forms)
|
||||||
|
|
||||||
# SQL
|
# SQL
|
||||||
[SQL](notes/SQL)
|
[SQL](notes/SQL)
|
||||||
Loading…
Reference in New Issue
Block a user