跟讀練習: Database Normalisation: Third Normal Form - 通過影片學習英語口語
選擇練習模式
每種模式都會開啟全屏練習室。
99 句
如果句子過短或過長,請點選 Edit 進行調整。
1
Thank you.
2
This video is about database normalisation.
3
specifically normalising a database to a third normal form.
4
It follows on from the video about second normal form by working through the same example.
5
to qualify for third normal form in technical terms.
6
The data must already be in second normal form and a relation has no transitive functional dependencies on the primary key.
7
To put that more simply, the data must be in second normal form, and there is no other non -key attribute that you'd need to change in the table
8
if you change the non -key attribute.
9
Let's continue with our example.
10
To get these tables into third normal form, they must already be in second normal form.
11
Which they are.
12
Now you need to ensure that there are no transitive functional dependencies.
13
Well, actually in this case there aren't any, so these tables are already in third normal form as well.
14
But what's meant by a transitive functional dependency?
15
And how can you spot one?
16
Let's start by reviewing the term functional dependency.
17
In the students table, The first name is functionally dependent on the ID.
18
The ID is called the determinant, and the first name is called the dependent.
19
This is normally written like this.
20
Another way of saying it is that there is exactly one first name for any given instance of a student.
21
In the same way, last name is functionally dependent on ID, and so is marital status.
22
In the student course table there's a composite primary key which the grade is functionally dependent on.
23
It can be written like this.
24
You could also say that the course title in the student course table is functionally dependent on the composite primary key.
25
but because the course title is a subset of the composite key It's known as a trivial functional dependency.
26
It's OK to have functional dependencies in a table in order for it to be in third normal form.
27
In fact, it's absolutely necessary.
28
Every non -key attribute of a table must be fully functionally dependent on the primary key.
29
If it was partially dependent, the table wouldn't even be in second normal form.
30
So what's a transient functional dependency?
31
These are not allowed in third normal form.
32
Let's add some more data to the courses table to help make this clear.
33
The course title is still the primary key of the courses table.
34
It's unique for each course, it certainly belongs here.
35
As an aside, if there were two courses with the same course title, perhaps a computer science A level and a computer science diploma.
36
then you'd have to rethink the primary key, perhaps by giving each course a unique code.
37
But let's proceed on the basis that each course title will always be unique.
38
The fee and the qualification are both attributes of the course title.
39
They're functionally dependent on the primary key, so they belong here.
40
but the teacher ID and the teacher name columns seem a little out of place.
41
Each course is always taught by the same teacher, according to this data at least.
42
So you'd be forgiven for allowing them into this table in the first place.
43
Teacher ID is an attribute of a course, and it's functionally dependent on the primary key.
44
Teacher name is also an attribute of a course, and it too depends on the primary key.
45
There are no partial dependencies on the primary key here, so the table is indeed in second -normal form.
46
But there's a potential problem.
47
If you decide to change the teacher for a course, then you have to change both the teacher ID and the teacher name.
48
They are functionally dependent on each other.
49
This is not ideal because as you know, editing mistakes can lead to inconsistencies in the data.
50
If you change one of the course titles, it becomes a different course.
51
So again, you need to change the teacher ID and the teacher name.
52
To put this in technical jargon, the teacher ID is functionally dependent on the course title,
53
and the teacher name is functionally dependent on the teacher ID.
54
So there's a transitive dependency between the teacher name and the course title.
55
Something depends on something which depends on something else.
56
It's also true to say that the teacher name is functionally dependent on the course title, and that the teacher ID is functionally dependent on the teacher name.
57
So there's a transitive dependency between the teacher ID and the course title.
58
It's just another way of looking at these particular data.
59
whichever way you look at them, there are transitive functional dependencies here.
60
So the courses table violates third normal form.
61
This is how to solve the problem.
62
You need a separate teacher's table.
63
The teacher column in the courses table establishes the relationship with this new table.
64
None of these tables contain transitive functional dependencies.
65
the database is definitely in third normal form.
66
Another example of a transitive functional dependency would be
67
if the student course table contained an exam mark as well as the grade.
68
The grade is derived from the mark.
69
Now arguably you shouldn't store any attribute in the database if you can calculate it from something else.
70
Nevertheless, let's suppose you had good reason to store both the exam mark and the grade in this table.
71
If you change the value of the primary key for one of these records, it's a different student course combination.
72
So you need to change the exam mark and the grade to match.
73
The mark is functionally dependent on the primary key and the grade is functionally dependent on the mark.
74
There's a transitive functional dependency between the grade and the primary key Strictly speaking,
75
in order for this version of the table to be in third normal form, The mark and the grade belong in a table of their own, perhaps a table called results.
76
Let's stick with just the grade in this database.
77
Now take a look at this version of the Students table.
78
A purist might tell you that if you were storing postal addresses in the students' table, then these should be moved into another table.
79
Every part of the address is functionally dependent on the primary key.
80
but there are some transitive functional dependencies here.
81
If a student emigrates to a new country, then they'd necessarily moved to a new town and a new street address.
82
But you have to ask yourself if breaking up this table is actually practical.
83
For a start, addresses often have missing information.
84
But even if your data are complete, decompose them too much and they start to become unmanageable.
85
To get into third normal form, there are some simple clues you can look out for.
86
Are there any items that are obviously categories?
87
Is there anything that looks like an identifier?
88
Is there any more duplication of data?
89
But be careful with this.
90
Every student has a gender, but it doesn't really make sense to put genders in a separate table.
91
If you'd started with a flat file containing all of these data in the first place,
92
You may well have come up with this four -table structure straight away.
93
With experience, you'll eventually find you can normalise a database directly to third normal form or near enough,
94
just by looking at the data and applying a little common sense.
95
In summary, To be in third normal form,
96
The data must already be in second normal form and a relation has no transitive functional dependencies on the primary key.
97
or put more simply the data must already be in second normal form
98
and there is no other non -key attribute
99
that you would need to change in the table if you change to non -key attribute.
FOR YOU
推薦影片
關於本課
在本節課中,學習者將深入瞭解資料庫規範化的第三範式,具體聚焦於如何判斷和識別資料表中的傳遞依賴和功能依賴。通過影片示範,學習者將練習專業英語詞彙和表達,這些都圍繞著資料結構和功能依賴展開。通過模仿(shadowspeak),你將提高英語發音和聽力理解,以更好地掌握技術術語。
關鍵詞彙與短語
- 功能依賴 (Functional Dependency)
- 傳遞功能依賴 (Transitive Functional Dependency)
- 主鍵 (Primary Key)
- 第二範式 (Second Normal Form)
- 第三範式 (Third Normal Form)
- 複合主鍵 (Composite Primary Key)
- 屬性 (Attribute)
- 依賴關係 (Dependency)
練習技巧
為了充分利用這段影片,建議大家採用shadowspeak練習方法。這種方法能夠幫助你更自然地模仿影片中的語速和語調。觀看時可以嘗試暫停影片,重複每句話,尤其是在資料術語比較複雜的地方。可以選擇先理解每個短語的意思,再進行跟讀。最重要的是,注意發音的細節和語調的起伏,這樣能有效提高英語發音能力。通過看YouTube學英語,你可以不斷回放,同時結合shadow speaks技巧,使你在學習過程中形成語感,逐步提高。
什麼是跟讀法?
跟讀法 (Shadowing) 是一種有科學依據的語言學習技巧,最初開發用於專業口譯員的培訓,並由多語言者Alexander Arguelles博士普及。這個方法簡單而強大:您在聽英語母語原聲的同時立即大聲重複——就像是一個延遲1-2秒緊跟說話者的影子。與被動聽力或語法練習不同,跟讀法強迫您的大腦和口腔肌肉同時處理並模模擬實的講話模式。研究表明它能顯著提高發音準確性,語調,節奏,連讀,聽力理解和口語流利度——使其成為雅思口語備考和真實英語交流最有效的方法之一。












