|
Программирование >> Sql: полное руководство
Правило I напоминает неформальное определение реляционной базы данных, приведенное ранее. Правило 2 указывает на роль первичных ключей при поиске информации в базе данных. Имя таблицы позволяет найти требуемую таблицу, имя столбца - требуемый столбец, а первичный ключ - строку, содержащую искомый элемент данных. Правило 3 требует, чтобы отсутствующие данные можно было представить с помощью значений null, которые описаны в главе 5. Правило 4 гласит, что реляционная база данных должна сама себя описывать. Другими словами, база данных должна содержать набор системных таблиц, описывающих структуру самой базы данных. Правило 5 требует, чтобы СУБД использовала язык реляционной базы данных, например SQL, хотя явно SQL в правиле не упомянут. Такой язык должен поддерживать все основные функции СУБД - создание базы данных, выборку и ввод данных, реализацию защиты базы данных и т.д. Правило 6 касается представлений, которые являются виртуальными таблицами, позволяющими показывать различным пользователям различные фрагменты структуры базы данных. Это одно из правил, которые сложнее всего реализовать на практике. Правило 7 акцентирует внимание на том, что базы данных по своей природе ориентированы на работу с множествами. Оно требует, чтобы операции добавления, удаления и обновления можно было выполнять над множествами строк. Это правило предназначено для того, чтобы запретить реализации таких СУБД, в которых поддерживаются только операции над одной строкой. Правила 8 и 9 означают отделение пользователя и прикладной программы от низкоуровневой реализации базы данных. Они утверждают, что конкретные способы реализации хранения или доступа, используемые в СУБД, и даже изменения структуры таблиц базы данных не должны влиять на возможность пользователя работать с данными. Правило 10 гласит, что язык базы данных должен поддерживать ограничительные условия, налагаемые на вводимые данные и действия, которые могут быть выполнены над данными. Это еще одно правило, которое слабо реализовано в коммерческих СУБД. Правило 11 гласит, что язык базы данных должен обеспечивать возможность работы с распределенными данными, расположенными в различных компьютерных системах. И наконец, правило 12 предотвращает использование других средств работы с базой данных, помимо ее подъязыка, поскольку это может нарушить ее целостность. В начале 90-х годов производители часто публиковали специальные карточки для коммерческих СУБД, в которых перечислялось, насколько точно продукт удовлетворяет каждому из перечисленных правил. К сожалению, правила субъективны по своей природе, поэтому такие карточки были полны уточнений и примечаний и в целом позволяли узнать не слишком многое о самом продукте. Сегодня конкуренция между поставщиками СУБД лежит в области производительности, новых возможностей, специализированных средств разработки, качества служб технической поддержки и т.п., о соответствии правилам Кодда упоминают редко. Тем не менее, они остаются важной частью истории реляционной модели данных. Резюме SQL основан на реляционной модели данных, в которой данные организуются в виде набора таблиц. У каждой таблицы есть уникальное имя, В каждой таблице есть один или несколько столбцов, которые упорядочены в направлении слева направо. В каждой таблице есть ноль или более строк, каждая из которых содержит одно значение данных в каждом столбце; строки в таблице не упорядочены. Все значения данных в одном столбце имеют одинаковый тип и входят в набор допустимых значений, который называется доменом столбца. Отношения между таблицами реализуются с помощью содержащихся в них данных. В реляционной модели данных для представления этих отношений используются первичные и внешние ключи. Первичным ключом называется столбец или группа столбцов таблицы, значения которых уникальным образом идентифицируют каждую строку таблицы. У таблицы есть только один первичный ключ. Внешним ключом называется столбец или группа столбцов таблицы, значения которых совпадают со значениями первичного ключа другой таблицы. Таблица может содержать несколько внешних ключей, связывающих ее с одной или несколькими другими таблицами. Пара первичный ключ - внешний ключ создает отношение предок/потомок меисду таблицами, содержащими их. Выборка данных Запросы - это фундамент SQL. Многие разработчики используют SQL исключительно в качестве инструмента для создания запросов к базе данных. В пяти последующих главах во всех подробностях рассматриваются SQL-запросы. В главе .5 описаны основные элементы языка SQL, используемые для формирования инструкций SQL. В главе 6 рассказывается о простых запросах, позволяющих извлекать данные из одной таблицы. Глава 7 посвящена многотабличным запросам. В главе 8 описаны запросы, позволяющие получить итоговые данные. И наконец, в главе 9 рассказывается о подчиненных запросах.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |