sql лекц 43 стр 1. Подготовка к изучению. Программы для работы
Скачать 0.66 Mb.
|
Поля таблицЗаписи таблицы состоят из отдельных полей. Этот набор полей называют структурой таблицы. В нашем примере структура таблицы включает четыре поля: Имя, Теле- фон, День рождения и Примечание. В принципе, знания имени таблицы и названий полей уже достаточно для того, чтобы начать использовать язык SQL для работы с данными. Например, мы можем исполь- зовать такой запрос, чтобы найти номер телефона по имени подружки: select Телефон from Подружки where Имя = 'Лена' Или наоборот, мы можем найти имя по номеру телефона: select Имя from Подружки where Телефон = 9037654321 Но, прежде чем мы окунёмся в мир запросов SQL, выясним ещё кое–какие детали. Типы полейПоля таблиц могут быть предназначены для хранения данных разных типов. Тип каждого поля задаётся при создании таблицы. В нашем простейшем примере мы могли бы использовать такие типы полей: Текст — для полей Имя и Примечание Число — для поля Телефон Дата — для поля День рождения Тип поля накладывает ограничения на данные, которые мы можем в нём хранить. Например, если мы выбрали тип Число для поля Телефон, то мы уже не можем хра- нить в нём произвольный текст: данные этого типа могут состоять только из цифр. Это же относится к типу Дата: поле День рождения с таким типом будет предназна- чено только для хранения дат, и больше ни для чего. При попытке создать запись со значением, которое не соответствует типу поля, база данных вернёт нам сообщение об ошибке. Здесь, конечно, есть множество нюансов, но о них мы узнаем позже в этом курсе. Связи между таблицамиОбычно базы данных состоят из множества таблиц, записи которых могут быть свя- заны между собой. Чтобы понять, как они связываются, нам нужно перечитать самую первую фразу этой главы: Вся информация в базах данных хранится в виде таблиц. Связи между записями разных таблиц — это тоже информация. А значит, связи тоже хранятся в таблицах. Для хранения связей между записями таблиц обычно используют дополнительные поля. Давайте рассмотрим ещё один пример, чтобы понять, как это делается. Следующая иллюстрация описывает структуру простой базы данных для учёта книг домашней библиотеки, состоящей из двух таблиц: Категории'>Книги и Категории. Библиотека разделена на категории, и каждая книга входит в одну из этих категорий. Категории могут быть, например, такими: Фантастика, Романы, Бизнес–книги, Про- граммирование. Данные в таблицах могут быть, например, такими. Таблица Категории
Таблица Книги
Как видим, в обеих таблицах присутствует поле № категории. Именно это поле свя- зывает записи таблицы Книги с записями таблицы Категории: книга «12 недель в году» относится к категории 3 (Бизнес–книги), а книги «Язык программирования C++» и «Регулярные выражения» — к категории 4 (Программирование). Очевидно, что в таблице Категории значения этих полей должны быть уникальными (то есть не может быть двух записей с одинаковым значением этого поля). В этом курсе мы научимся сообщать базе данных, что она должна сама следить за уникаль- ностью значений таких полей. Имена полей, по которым определяется связь, не обязательно должны быть одина- ковыми в разных таблицах, но это удобный способ дополнительно показать связь между полями человеку, который изучает структуру базы данных. В нашем примере каждая книга может относиться только к одной категории. Разра- ботчики баз данных выразили бы это так: между таблицами Категории и Книги су- ществует связь вида «один–ко–многим» (одна категория ко многим книгам). О том, какие ещё бывают связи, и как они реализуются в таблицах, мы тоже узнаем из этого курса. |