Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
1. Unnormalised
Grade_report(StudNo,StudName,(Major,Advisor,(CourseNo,Ctitle,InstrucName,InstructLocn,Grade)))
2. 1NF Remove repeating groups
Student(StudNo,StudName)
StudMajor(StudNo,Major,Advisor)
StudCourse(StudNo,Major,CourseNo,Ctitle,InstrucName,InstructLocn,Grade)
3. 2NF Remove partial key dependencies
Student(StudNo,StudName)
StudMajor(StudNo,Major,Advisor)
StudCourse(StudNo,Major,CourseNo,Grade)
Course(CourseNo,Ctitle,InstrucName,InstructLocn)
4. 3NF Remove transitive dependencies
Student(StudNo,StudName)
StudMajor(StudNo,Major,Advisor)
StudCourse(StudNo,Major,CourseNo,Grade)
Course(CourseNo,Ctitle,InstrucName)
Instructor(InstructName,InstructLocn)
5. BCNF Every determinant is a candidate key
Student: only determinant is StudNo
StudCourse: only determinant is StudNo,Major
Course: only determinant is CourseNo
Instructor: only determinant is InstrucName
StudMajor: the determinants are
StudNo,Major, or
Adviser
Only StudNo,Major is a candidate key.
6. BCNF
Student(StudNo,StudName)
StudCourse(StudNo,Major,CourseNo,Grade)
Course(CourseNo,Ctitle,InstrucName)
Instructor(InstructName,InstructLocn)
StudMajor(StudNo,Advisor)
Adviser(Adviser,Major)
Problems BCNF overcomes
STUDENT MAJOR ADVISOR
123 PHYSICS EINSTEIN
123 MUSIC MOZART
456 BIOLOGY DARWIN
789 PHYSICS BOHR
999 PHYSICS EINSTEIN
- if the record for student 456 is deleted we lose not only information on student 456 but also the fact that DARWIN advises in BIOLOGY
- we cannot record the fact that WATSON can advise on COMPUTING until we have a student majoring in COMPUTING to whom we can assign WATSON as an advisor.
In BCNF we have two tables:
STUDENT ADVISOR
123 EINSTEIN
123 MOZART
456 DARWIN
789 BOHR
999 EINSTEIN
ADVISOR MAJOR
EINSTEIN PHYSICS
MOZART MUSIC
DARWIN BIOLOGY
BOHR PHYSICS
1. Ненормализованный
Grade_report(StudNo,StudName,(Major,Advisor,(CourseNo,Ctitle,InstrucName,InstructLocn,Grade)))
2. 1NF Удаляет повторяющиеся группы
Student(StudNo,StudName)
StudMajor(StudNo,Major,Advisor)
StudCourse(StudNo,Major,CourseNo,Ctitle,InstrucName,InstructLocn,Grade)
3. 2NF Удаляют частичные ключевые зависимости
Student(StudNo,StudName)
StudMajor(StudNo,Major,Advisor)
StudCourse(StudNo,Major,CourseNo,Grade)
Course(CourseNo,Ctitle,InstrucName,InstructLocn)
4. 3NF Удаляют переходные зависимости
Student(StudNo,StudName)
StudMajor(StudNo,Major,Advisor)
StudCourse(StudNo,Major,CourseNo,Grade)
Course(CourseNo,Ctitle,InstrucName)
Instructor(InstructName,InstructLocn))
5. BCNF Каждый детерминант является возможным ключом
Student: только детерминант - StudNo
StudCourse: только детерминант - StudNo,Major
StudCourse: только детерминант - CourseNo
Instructor: только детерминант - InstrucName
StudMajor: детерминанты
StudNo,Major, или Adviser
Только StudNo, Major является возможным ключом.
6. BCNF
Student(StudNo,StudName)
StudCourse(StudNo,Major,CourseNo,Grade)
Course(CourseNo,Ctitle,InstrucName)
Instructor(InstructName,InstructLocn)
StudMajor(StudNo,Advisor)
Adviser(Adviser,Major)
Проблемы BCNF преодолевают
STUDENT MAJOR ADVISOR
123 PHYSICS EINSTEIN
123 MUSIC MOZART
456 BIOLOGY DARWIN
789 PHYSICS BOHR
999 PHYSICS EINSTEIN
- если отчет для студента 456 удален, мы теряем не только информацию о студенте 456, но также и факт, что DARWIN советует в BIOLOGY
- мы не можем сделать запись факта, что WATSON может консультировать по вопросам COMPUTING, пока у нас нет студента, специализирующегося в COMPUTING, кому мы можем назначить WATSON в качестве советника.
В BCNF у нас есть два стола:
STUDENT ADVISOR
123 EINSTEIN
123 MOZART
456 DARWIN
789 BOHR
999 EINSTEIN
ADVISOR MAJOR
EINSTEIN PHYSICS
MOZART MUSIC
DARWIN BIOLOGY
BOHR PHYSICS
ВАРИАНТ 19 (РК 1/Семестр 1)
Дано множество функциональных зависимостей S={AB–>C, BC–>AD, D–>E, CF–>B}, имеющих место для переменной-отношения R(A, B, C, D, E, F). Выполняются ли функциональные зависимости AB–>D и D–>A для переменной-отношения R?
Дата публикования: 2015-02-03; Прочитано: 266 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!