2012-03-04 4 views
3

Я в процессе обучения Mysql, и я создаю базы данных. Итак, рассмотрев несколько сайтов, определение для первичного ключа:MYSQL - Что такое первичный ключ?

Ограничение PRIMARY KEY однозначно идентифицирует каждую запись в таблице базы данных.

и используется так:

CREATE TABLE Persons 
(
    P_Id int NOT NULL, 
    LastName varchar(255) NOT NULL, 
    FirstName varchar(255), 
    Address varchar(255), 
    City varchar(255), 
    PRIMARY KEY (P_Id)   //primary key is on this line 
) 

Однако, я до сих пор не знаю, что она используется и почему она нам нужна. Так что мой вопрос.

Может кто-нибудь объяснить мне, что такое первичный ключ (на основном английском) и почему нам нужен один и для чего он используется?

Thank-you.

+0

Единственная трудная часть ... какой другой вопрос является дубликатом? –

+0

Возможный дубликат [В чем разница между Первичным ключом, уникальным ключом и индексом в MySQL?] (Http://stackoverflow.com/questions/3844899/whats-the-difference-between-primary-key-unique-key-and -index-in-mysql) –

ответ

4

A primary key является column, который определен как однозначно идентифицирующий каждая строка.

Кроме того, определяя столбец как PRIMARY KEY, он может быть указан как foreign key в других таблицах при определении ограничений referencial integrity.

+0

+1 Вы также можете найти http://stackoverflow.com/questions/8038641/please-confirm-my-use-of-primary-key-and-unique-index/8038647#8038647 полезным , –

2

Первичный ключ - это уникальный идентификатор строки. Обычно это автоматически назначается системой управления базами данных (если вы укажете автоинкремент для этого значения). Поэтому, если у вас есть база данных людей в организации, их основным ключом может быть их номер сотрудника. Каждый раз, когда вы добавляете сотрудника, он получает уникальный номер сотрудника, который обычно является предыдущим номером служащего + 1.

Без первичных ключей вы не могли различить двух сотрудников по имени john smith (без другой информации) Надеюсь, что это достаточно ясно ,

+0

Я бы сказал, «иногда назначается dbms», а не «нормально», но в остальном согласен. –

+0

В приведенном выше примере, если вы хотите автоматически назначить первичный ключ (уникальный идентификатор) каждой новой строке (записи) в базе данных, вы должны сделать третью строку (первая строка после открывающей скобки): 'P_Id INT NOT NULL AUTO_INCREMENT' – mattfryercom

+0

Хорошо, я понимаю, спасибо всем! – r1nzler

Смежные вопросы