Леший Св : другие произведения.

Таблички и Ключики к ним…

Самиздат: [Регистрация] [Найти] [Рейтинги] [Обсуждения] [Новинки] [Обзоры] [Помощь|Техвопросы]
Ссылки:


 Ваша оценка:

Я хочу вам дать задание… Напишите пожалуйста список учителей в нашей школе… Справились? Ну давайте посмотрим, что получилось…
1. Иван Васильевич Иванов
2. Петр Иванович Сидоров
3. Мярина Николаевна Петрова
4. Иван Васильевич Иванов
5. Николай Андреевич Ростов
6. Илья Викторович Иванов
Готов поспорить, что большинство из нас свои списки пронумеруют. А зачем? А для удобства! Это просто удобно, что этот человек первый,а этот второй… Особенно удобно когда мы говорим про тезок… В жизни мы говорим, что этот Иванов черненький, не полный тезка лысому и бородатому Ивановым, так как в нашей обычной жизни нас никто не нумеровал, а вот в списке… Гораздо удобнее сказать, что первый Иванов и Иванов четвертый тезки полные, а вот шестой Иванов… Дай каждому индивидуальный номер и ты никогда не перепутаешь людей. Уж простите за сравнение, но это как в концлагере: У каждого свой номер и перепутать просто не возможно…
Вот эта цифирка по сути является ключиком к этому списку. Она определяет, что запись является  уникальной…
Так… Теперь другое задание: А напишите ка мне список районов города, где эти самые учителя проживают… Уже? Посмотрим…
1. Советский
2. Нижегородский
3. Приокский
Опять цифирки поставили? Да опять! Нет, у нас повторений в названиях районов внутри города, но опять таки многие из нас раставят циферки… так просто, для порядка… чтоб ясно было сразу, что ничего не забыли… Это так по человечески везде циферки ставить: в списоке покупок, в списке вещей ссобой, в списке дел… Да мы и говорим так: во-первых, во-вторых… А за чем? Просто привычка? Нет. Не просто. Нам необходима четкая идентификация наших  записей, иногда чтоб соблюсти последовательность, иногда чтоб неперепутать и незабыть… Вот поэтому мы в нашем списке районов поставили уникальный ключик-номерок для каждой записи…
Чтож, мы это поняли или понимали… А вот поймете ли вы такую запись… ( ID – это первые две буквы англицкого Identification, что как вы понимаете переводится как Идентификация)
ID Учителя Имя Отчество   
Фамилия   
ID Района
1
 Иван   
Васильевич   
Иванов       
1
2
 Петр   
Иванович   
Сидоров   
2
3
 Мaрина   
Николаевна   
Петрова       
1
4
 Иван   
Васильевич   
Иванов       
3
5
 Николай   
Андреевич   
Ростов       
1
6
 Илья   
Викторович   
Иванов       
1

ID Района 
Название
1
 Советский   
2
 Нижегородский   
3
 Приокский   

Ну напригитесь … Перед вами два списка: Учителей и районов города… кстати их теперь удобно называть таблицами. И дадим им имена (чтоб различать): «Учитель» и «Район»… Смотрим дальше, в каждом списке-таблице есть свой идентификационный номер каждой записи, то есть все строчки про нумерованы и у каждой строчки своя уникальная цифра. В таблице «Учитель» кроме того имеется запись номера района, где этот самый учитель и проживает. То есть нет, в таблице учитель стоит номер района, который является уникальным ключиком к таблице «Район» и уже в ней мы определяем настоящее название района. Просто? Думаю, что да. Вот только теперь в терминологию поиграем… Итак… Колонка (или их комбинация) которая уникальным образом определяет запись (строку) в таблице называется Primary Key (Основной-Главный-Приоритетный ключ) этой таблицы, а колонка являющаяся Primary Key в другой таблице, называется Forging Key (Заграничный-зарубежный-чужой ключ)….
Судя по вашим глазам определение этих «странных» ключей не прошибло вас своей сутью. Со мной это тоже было в свое время. Поэтому переведем эти понятия на родной язык учителей и районов… Таблица «Учитель»: Что является уникальным для строчек? Правильно- «ID Учителя»- номер строки. Он является Primary Key (Основной-Главный-Приоритетный ключ) этой таблицы. Зачем он нужен? Чтоб мы четко знали про какого имменно Иванова идет речь.  Нет, совсем не зря его выделяют в таблицах. В таблице он как глава семьи определяет что и как и является уникальным определением этой семьи. А убрали главу… И началась путаница… А в другой таблице свой глава… Кстати о другой таблице… В «Районах», на первый взгляд, обе колонки могут быть ключом. Но это на первый взгляд. Хотя названия являются уникальными, но иметь дело все же приятней с уникальными цифрами: представте, что вы оперируете не с российскими названиями, а китайскими… Цифры проще- правда ведь? Но главнее то, что в ситуации когда мы не знаем названия районов, а просто знаем что есть еще два каких-то, мы можем просто поставить номера, а названия проставить потом:
ID Района 
Название
1
 Советский   
2
 Нижегородский   
3
 Приокский   
4

5

 
Так что будет лучше если «ID Района» будет Главным ключом в этой таблице.
Итак у нас есть две таблицы и у каждой «по начальнику», но суть-то всей базы данных в том, как эти таблицы связаны между собой… Вот тут-то и выходит на арену понятие заграничного ключа. В «Учителе» колонка «ID Района» не является главной (значения в ней для строк не уникальны), но по ней в другой таблице можно вытащить названия. Это как если мы взяли две семьи и у каждой свой глава, но картинка в нашей голове кардинально изменится если мы узнаем, что второй глава является сыном первой главы семьи… Forging Key (Заграничный-зарубежный-чужой ключ) показывает, что у данной таблицы есть родственник, вот по такой-то линии…
Вопросы есть?
 Ваша оценка:

Связаться с программистом сайта.

Новые книги авторов СИ, вышедшие из печати:
О.Болдырева "Крадуш. Чужие души" М.Николаев "Вторжение на Землю"

Как попасть в этoт список
Сайт - "Художники" .. || .. Доска об'явлений "Книги"