Типовая база данных
Таблицы 1.1, 1.2, и 1.3 составляют реляционную базу данных, которая является минимально достаточной, чтобы легко ее отслеживать, и достаточно полной, чтобы иллюстрировать главные понятия и практику использования SQL. Эти таблицы напечатаны в этой главе, а также в Приложении E. Так как они будут использоваться для иллюстрирования различных особенностей SQL во всей этой книге, мы рекомендуем, чтобы вы скопировали их, для удобства ссылки к ним. Вы могли уже обратить внимание, что первый столбец каждой таблицы содержит номера, чьи значения различны для каждой строки. Как вы, наверное, и предположили, это — первичные ключи таблиц. Некоторые из этих номеров также показаны в столбцах других таблиц. В этом нет ничего неверного. Они показывают связь между строками, которые используют значение принимаемое из первичного ключа, и строками, где это значение используется в самом первичном ключе.
Таблица 1.1: Продавцы
Таблица 1.2: Заказчики
Таблица 1.3: Заказы
Например, поле snum в таблице Заказчиков указывает, какому продавцу назначен данный заказчик. Номер поля snum связан с таблицей Продавцов, которая дает информацию об этих продавцах. Очевидно, что продавец которому назначены заказчики должен уже существовать — то есть, значение snum из таблицы Заказчиков должно также быть представлено в таблице Продавцов. Если это так, то говорят, что "система находится в состоянии справочной целостности". Этот вывод будет более полно и формально объяснен в Главе 19.
Примечание: Эти три представленных таблицы в тексте имеют русские имена — Продавцов, Заказчиков и Заказов, и далее будут упоминаться именно под этими именами. Имена любых других применяемых в книге таблиц будут написаны по-английски, чтобы отличать их от наших базовых таблиц этой базы данных. Кроме того, в целях однозначности, имена заказчиков, продавцов, Системных Каталогов, а также полей в тексте, также будут даны на латыни. Таблицы приведены как пример к похожей ситуации в реальной жизни, когда вы будете использовать SQL, чтобы следить за продавцами, их заказчиками, и Заказами заказчиков. Давайте рассмотрим эти три таблицы и значения их полей. Здесь показаны столбцы Таблицы 1.1
Таблица 1.2 содержит следующие столбцы:
И имеются столбцы в Таблице 1.3:
Резюме
Теперь вы знаете, что такое реляционная база данных, понятие, которое звучит сложнее, чем есть на самом деле. Вы также изучили некоторые фундаментальные принципы относительно того, как сделаны таблицы, как работают строки и столбцы, как первичные ключи отличают строки друг друга, и как столбцы могут ссылаться к значениям в других столбцах. Вы поняли, что запись это синоним строки, и что поле это синоним столбца. Оба термина встречаются в обсуждении SQL, и мы будем использовать их в равной степени в этой книге. Вы теперь знакомы с таблицами примеров. Краткие и простые, они способны показать большинство особенностей языка, как вы это увидите В некоторых случаях, мы будем использовать другие таблицы или постулаты некоторых различных данных в одной из этих таблиц чтобы показать вам некоторые другие возможности. Теперь вы готовы к углублению в SQL самостоятельно. Следующая глава даст вам быстрый просмотр языка, и даст вам информацию, которая поможет Вам ссылаться к уже пройденным местам. Работа с SQL 1. Какое поле таблицы Заказчиков является первичным ключом? 2. Что является столбцом 4 из таблицы Заказчиков? 3. Как по другому называется строка? Столбец? 4. Почему вы не можете запрашивать для просмотра первые пять строк таблицы? (См. Приложение A для ответов.) SQL: обзор Эта глава познакомит вас со структурой языка SQL, а также с определенными общими выводами, такими как тип данных, которые эти поля могут содержать, и некоторые области неоднозначностей, которые существуют в SQL. Она предназначена обеспечить связь с более конкретной информацией в последующих главах. Вы не должны запоминать каждую подробность, упомянутую в этой главе. Краткий обзор представлен здесь в одном месте, ко многим подробностям вы сможете ссылаться в последствии по мере овладения языком. Мы поместили все это в начало книги, чтобы ориентировать вас на мир SQL без упрощенного подхода к его проблемам и в то же время дать вам привычные в будущем места для ссылки к ним, когда у Вас появятся вопросы. Этот материал может стать более понятным, когда мы перейдем к описанию конкретных команд SQL, начинающихся с Главы 3.
Как работает SQL? SQL — это язык, ориентированный специально на реляционные базы данных. Он устраняет много работы, которую вы должны были бы сделать если бы вы использовали универсальный язык программирования, например, C. Чтобы сформировать реляционную базу данных на C, вам необходимо было бы начать с самого начала. Вы должны были бы определить объект, называемый таблицей, которая могла бы расти, чтобы иметь любое число строк, а затем создавать постепенно процедуры для помещения значений в нее и извлечения из них. Если бы вы захотели найти некоторые определенные строки, вам необходимо было бы выполнить по шагам процедуру, подобную следующей: 1. Рассмотрите строку таблицы. 2. Выполните проверку, является ли эта строка одной из строк, которые вам нужны. 3. Если это так, сохраните ее где-нибудь, пока вся таблица не будет проверена. 4. Проверьте, имеются ли другие строки в таблице. 5. Если имеются, возвратитесь на шаг 1. 6. Если строк больше нет, вывести все значения, сохраненные в шаге 3. (Конечно, это не фактический набор C команд, а только логика шагов, которые должны были бы быть включены в реальную программу.) SQL сэкономит вам время, необходимое на все это. Команды в SQL могут работать со всеми группами таблиц как с единым объектом и могут обрабатывать любое количество информации, извлеченной или полученной из их, в виде единого модуля. Что делает ANSI? Как мы уже рассказывали во Введении, стандарт SQL определяется с помощью кода ANSI (Американский Национальный Институт Стандартов). SQL не изобретался ANSI. Это, по существу, изобретение IBM. Но другие компании подхватили SQL сразу же, по крайней мере, одна компания (Oracle), отбила у IBM право на рыночную продажу SQL продуктов. После того, как появился ряд конкурирующих программ SQL на рынке, ANSI определил стандарт, к которому они должны быть приведены (определение таких стандартов и является функцией ANSI). Однако после этого появились некоторые проблемы. Возникли они в результате стандартизации ANSI в виде некоторых ограничений. Так как не всегда ANSI определяет то, что является наиболее полезным, то программы пытаются соответствовать стандарту ANSI, не позволяя ему ограничивать их слишком сильно. Это, в свою очередь, ведет к случайным несогласованностям. Программы Баз Данных обычно дают ANSI SQL дополнительные особенности и часто ослабляют многие ограничения из большинства из них. Следовательно, общие разновидности ANSI будут также рассмотрены. Хотя мы, очевидно, не сможем объять каждое исключение или разновидность, удачные идеи имеют тенденцию к внедрению и использованию в различных программах даже когда они не определены стандартом ANSI. ANSI — это вид минимального стандарта и вы можете делать больше чем он позволяет, хотя и должны выполнять его указания при выполнении задач которые он определяет.
Читайте также: IV. Четвертый вопрос – типовая задача. Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|