11.07.2015 Views

Выпуск 1 - Российский государственный профессионально ...

Выпуск 1 - Российский государственный профессионально ...

Выпуск 1 - Российский государственный профессионально ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

И еще один столь же классический пример.Простые ключи, составные ключи, простоключиМы дважды прошлись по набору предложенныхтаблиц. В первый раз мы искали только простыеключи. Во второй раз — составные ключи. Вообщеговоря, большой разницы между ними нет, и частоиспользуют один термин ключ, под которым понимаюти простые, и составные ключи. Кстати, как выдумаете, может ли одна таблица иметь и простые, исоставные ключи?Ответ — может. Например, таблица“Граждане страны”ИНН Фамилия Имя Серия Номерпаспорта паспортаИмеет простой ключ ИНН — значение ИННуникально для каждого гражданина страны.Но в ней также имеется составной ключ Серияпаспорта+Номер паспорта — их комбинациятакже уникальна. И простой ключ, и составнойключ — ключи данной таблицы.В общем случае — и мы это видели на примерах— в таблице может быть несколько простыхключей и несколько составных ключей. То есть втаблице может быть несколько ключей.Ключей — много, золотой (первичный) —одинСреди всех возможных ключей таблицы обязательновыбирают один-единственный, который называютпервичным. Выбор первичного ключа — дело проектировщика.Именно про первичный ключ таблицыпроектировщик сообщает СУБД — о первичном ключезнает не только человек, но и компьютерная программа.Кстати, обычно СУБД “жестко требует”, чтобыв таблице был указан первичный ключ, и не даетсоздать таблицу без первичного ключа.Подчеркиванием, которое мы использоваливыше, принято обозначать именно первичныйключ. А поля, входящие в состав первичного ключа,часто называют ключевыми полями. Словосочетание“ключевое поле” широко используется, нообращаться с ним следует осторожно. Например,если мы говорим, что данное поле является ключевым,то этим утверждается, что поле входит всостав первичного ключа, но ничего не говоритсяо том, является данный ключ простым или составным— есть ли еще ключевые поля в таблице.Добавляем ключ. При необходимостиВо всех ли рассмотренных выше таблицах мы обнаружилиключи? Нет. А как быть с таблицами, вкоторых мы пока не нашли ни простого, ни составногоключа? Нет ли здесь противоречия? Ведь в таблицебазы не должно быть повторяющихся строк!Значит, уж комбинация всех полей-то должна бытьсоставным ключом. Что-то мы запутались!В этом месте любой специалист в области проектированиябаз данных с удовольствием пришел бынам на помощь. И сказал бы он примерно следующее.Проблема ваша (наша) в том, что вы искали втаблицах так называемые “естественные ключи” —те, наличие которых обусловлено смыслом хранимыхданных. А таких ключей может и не быть.Посмотрим на “проблемную” таблицу.Таблица “03 Мои результаты”ДистанцияВремяКогда мы смотрим на таблицу, в которой не получаетсявыделить ключ, вопрос, на который намнужно ответить: а могут ли строки в этой таблицеповторяться с содержательной точки зрения? В базуданных нам точно не удастся занести повторяющиесястроки, это мы уяснили. Но если бы мы использовалиту же таблицу практических целей длязаписей в тетрадке. Может ли возникнуть необходимостьзанести в нее одинаковые строчки?Применительно к этой таблице ответ: скорее —да. Действительно, вполне может быть так, что мыфиксируем свои результаты и несколько раз показываемодин и тот же результат. Что бы мы сделалив тетрадке? Скорее всего мы бы нумеровали записи.Даже если бы мы это не делали явно, сам порядокзаписей — уже нумерация. Но большинство быставило номера записей:1. 100 м 15 с2. 110 м 18 с3. 100 м 14,8 сЕсли с содержательной точки зрения в таблицемогут повторяться строки, то необходимо завестиспециальное поле, которое было бы ключом иобеспечивало уникальность записей. Ровно так,как мы сделали бы в тетрадке. То есть в рассматриваемуютаблицу надо добавить, например,поле Номер записи.Таблица “Мои результаты”Номер записи Дистанция ВремяРассмотрим оставшиеся таблицы.Таблица “05 Мои расходы”Дата Назначение СуммаИ снова надо добавить такое же поле.Таблица “Мои расходы”Номер записи Дата Назначение СуммаТаблица “08 Мои друзья”Фамилия Имя Телефон E-mail ДатарожденияИ снова то же решение! Смотрите, как часто оноиспользуется!Таблица “Мои друзья”НомерзаписиИмяФамилияТелефонE-mailТаблица “11 Мои оценки”Дата Номер урока ОценкаДатарождения33январь 2012 / ИНФорматика

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!