In a lot of databases, we're talking
about unique entities out in the world,
like individual people or locations, or
email accounts, cities, or gorillas.
If something is unique,
there can't be two of them.
So for instance, names aren't unique,
not even full names.
There are a lot of people in
the world named Jennifer Smith.
But a particular person named Jennifer
Smith is still a unique individual.
You wouldn't want to give one
person another person's grades, or
their parking tickets,
just because they share the same name.
Whenever we want to unambiguously relate
a row of one table to a row of another,
to see they are about the same person or
thing out in the world.
We have to have a unique value
to talk about that thing.
In the cutest animals database, we used
a numerical ID for each animal picture,
which we used to relate
the votes table to it.
That's a pretty common choice.
Just make up a unique number for
your database.
It's so common that most database
systems can do it for you.
User IDs, comment IDs on forums and
so on, are all examples of this.
In database terminology, a column and
a table that uniquely identifies rows on
that table, can be called a primary key.
Sometimes the world gives us
a natural primary key for a table.
For instance, if you have a table of
countries and their capital cities,
you can be confident that there
aren't two countries named France.
So in that case, you can safely use
the name of the country as a key.
You don't have to call
it country number 29.
But you have to make sure
that a key really is unique.
For instance, in the US,
there are several states with
a city named Springfield.
There's Springfield,
Massachusetts, Springfield,
Illinois, and a whole bunch of others.
So it's obvious that the name
Springfield isn't unique by itself.
Now, you might be tempted to think
that city plus state is unique, but
it turns out that
that's not true either.
In the state of Wisconsin, there are
five different towns named Springfield,
and there are three in New Jersey,
and two in Texas.
Doh!
And that's why most countries
use postal codes, or
what we call zip codes in the US.
Just like saying that somebody
is player number three or
user 1,723, instead of using their name.
Using a made up number like 54028,
or 54659,
instead of Springfield,
Wisconsin, guarantees uniqueness.
في العديد من قواعد البيانات، نتحدث عن
،الكيانات الفريدة الموجودة من حولنا
مثل الأفراد أو المواقع، أو
.حسابات البريد الإلكتروني، أو المدن أو الشركات العملاقة
،عندما نقول أن هذا الشيء فريد
.يعني ذلك أنه لا يوجد اثنان منه
فعلى سبيل المثال، الأسماء ليست فريدة
.ولا حتى الأسماء الكاملة
يوجد عدد كبير من الأشخاص في العالم
.الذين يحملون اسم جنيفر سميث
لكن هناك شخص معين يحمل اسم جنيفر
.سميث ويظل فريدًا
فلن ترغب في أن تمنح شخص ما
درجات شخص آخر، أو
،تذاكر موقف السيارات الخاصة به
.لمجرد وجود تشابه في اسميهما
عندما نريد إنشاء رابطة غير مبهمة
،بين صف في أحد الجداول وصف في جدول آخر
لترى أنهما عن الشخص نفسه أو
.شيء موجود من حولنا
يجب أن يكون لدينا قيمة فريدة
.لنتحدث عن ذلك الشيء
في قاعدة بيانات أكثر الحيوانات لطفًا، استخدمنا
،معرّف رقمي لصورة كل حيوان
والذي استخدمناه للربط مع
.جدول الأصوات
.وذلك اختيار شائع للغاية
مجرد عمل رقم فريد
.لقاعدة البيانات
ومن الشائع كذلك أن معظم أنظمة قواعد
.البيانات تقوم بعمل ذلك بالنيابة عنك
معرفات المستخدمين، ومعرفات التعليقات على منتديات المناقشة
.وغيرها، هي مجرد أمثلة على هذا الأمر
في مصطلحات قواعد البيانات، العمود
والجدول الذي يقوم بتعريف الصفوف بطريقة فريدة
.في هذا الجدول، يمكن أن يطلق عليه مفتاح أساسي
في بعض الأحيان يوجد
.مفتاح أساسي طبيعي للجدول
على سبيل المثال، إذا كان لديك جدول يحتوي على
،البلاد وعواصمها
يمكن أن تثق في عدم وجود
.بلدين يحملا اسم فرنسا
وبالتالي في هذه الحالة، يمكنك استخدام
.اسم البلد بأمان كمفتاح
ولن تحتاج أن تطلق عليها
.البلد رقم 29
لكن يجب أن تتأكد أن
.ذلك المفتاح فريد بالفعل
،على سبيل المثال، في الولايات المتحدة
توجد ولايات عديدة بها
.مدينة تحمل اسم سبرنجفيلد
،توجد سبرنجفيلد
،ماساشوستس، وسبرنجفيلد
.إلينوي، وعدد كبير من المدن الأخرى
وهكذا، يبدو أن الاسم
.سبرنجفيلد غير فريد بمفرده
الآن، ربما تفكر أن
المدينة بالإضافة إلى الولاية تعتبر فريدة، ولكن
ستكتشف أن هذا
.غير صحيح أيضًا
في ولاية ويسكونسن، توجد
،خمس مدن مختلفة تسمى سبرنجفيلد
،وهناك ثلاث مدن في نيو جيرسي
.واثنتين في تكساس
!للأسف
وهذا هو السبب الذي يجعل معظم البلاد
تستخدم الرموز البريدية، أو
.ما نطلق عليه الأكواد البريدية في الولايات المتحدة
مثل أن نقول أن شخص ما
هو اللاعب رقم ثلاثة أو
.المستخدم 1723، بدلاً من استخدام أسمائهم
،فاستخدام رقم مثل 54028
،أو 54659
،بدلاً من سبرنجفيلد
.ويسكونسن، سيضمن التفرد
Em muitos bancos de dados, estamos falando
sobre entidades únicas no mundo,
como indivíduos, locais,
contas de email, cidades ou gorilas.
Se algo for único,
não pode haver dois dele.
Por exemplo, nomes não são únicos,
nem mesmo nomes completos.
Existem várias pessoas no
mundo chamadas Jennifer Smith.
Mas uma pessoa em particular chamada Jennifer
Smith ainda é um indivíduo único.
Você não iria querer dar para uma pessoa
as notas de outra ou
os bilhetes de estacionamento delas,
apenas porque elas têm o mesmo nome.
Sempre que quisermos relacionar de forma não ambígua
uma linha de uma tabela com uma linha de outra,
para ver se elas são sobre a mesma pessoa ou
coisa no mundo,
temos que ter um valor único
para falar sobre essa coisa.
No banco de dados de animais mais lindos, usamos
uma ID numérica para cada imagem de animal,
que usamos para relacionar
a tabela de votos a ela.
Essa é uma escolha muito comum.
Apenas crie um número único para o
seu banco de dados.
É muito comum que a maioria dos sistemas de banco de dados
possam fazer isso para você.
IDs de usuário, IDs de comentários em fóruns e
assim por diante são todos exemplos disso.
Na terminologia dos bancos de dados, uma coluna e
uma tabela que identifica exclusivamente as linhas
nessa tabela, podem ser chamadas de chave primária.
Às vezes, o mundo nos dá
uma chave primária natural para uma tabela.
Por exemplo, se você tiver uma tabela de
países e suas cidades capitais,
você pode ter certeza de que
não existem dois países chamados França.
Neste caso, você pode usar com segurança
o nome do país como uma chave.
Você não precisa chamá-lo
de país número 29.
Mas você tem que garantir que
uma chave seja realmente única.
Por exemplo, nos EUA,
existem vários estados com
uma cidade chamada Springfield.
Existe Springfield,
Massachusetts, Springfield,
Illinois e muitas outras.
Então é óbvio que o nome
Springfield em si não é único.
Agora, você pode estar tentado a pensar
que cidade mais estado são únicos, mas
parece que isso também
não é verdade.
No estado de Wisconsin, existem
cinco cidades diferentes chamadas Springfield
e existem três em Nova Jersey
e duas no Texas.
Oh!
E é por isso que a maioria dos países
usa códigos postais ou
o que chamamos de CEP nos EUA.
É como dizer que alguém
é o jogador número três ou
o usuário 1.723, em vez de usar seu nome.
Usar um número inventado como 54028
ou 54659,
em vez de Springfield,
Wisconsin, garante exclusividade.
在很多数据库中 我们处理的都是外部世界中唯一存在的东西
比如每个人或每个地点 或电子邮件账户、城市或大猩猩
如果某样东西是唯一的 那就不会出现两个
例如 名字不是唯一的 即使全名也不是
全世界有很多人叫 Jennifer Smith
但一个名叫 Jennifer Smith 的特定人物仍然是个独一无二的个体
你不会希望仅仅因为两个人的名字相同
就把一个人的分数或者违规停车罚单给予另一个人吧
不论我们何时想要没有歧义地把一个表的一行 与另一个表的一行进行关联
都要确认其内容指的是同一个人 或者是同一样东西
我们在提到那样东西时 必须有一个唯一的值
在最可爱的动物数据库中 我们对每张动物的照片使用数字 ID
我们用这个 ID 把它与投票表格进行关联
这是个很常见的选择
用你的数据库编制一个唯一的数字吧
这很平常 大多数数据库系统都可以为你完成这项工作
论坛上的用户 ID、评论 ID 等等都是这样的例子
在数据库术语中 对行
进行唯一标识的列和表被称为主键
有时候 现实世界中存在一种自然的主键
例如 如果你有一个包含不同国家及其首都的表
你可以确信 这个世界上不会有两个国家都叫法国
因此 在那种情况下 你可以放心使用国家名称作为主键
你不需要把它命名为第29号国家
但你必须确定主键确实是唯一的
例如 在美国
有几个州都有一个名为 Springfield 的城市
有马萨诸塞州的 Springfield
伊利诺伊州的 Springfield 等等
很明显 单有 Springfield 这个名称并不确保唯一性
现在 你可能不禁会想城市加上州名就是唯一的
但实际上这也不是事实
在威斯康星州有五个不同的城市都叫 Springfield
新泽西有三个 德克萨斯有两个
哦!
这就是为何大多数国家都使用邮政编码的原因
美国称为 zip code
好比说某人是3号选手 或者
用户 1723 而不使用他们的名字
使用编制的数字 比如54028或54659
而不是威斯康星州 Springfield 这样可以确保唯一性