ref-14882 (663315), страница 2
Текст из файла (страница 2)
Развитие реляционных баз данных началось в конце 60-х годов, когда появились первые работы, в которых обсуждались возможности использования при проектировании баз данных привычных и естественных способов представления данных — так называемых табличных даталогических моделей.
Основоположником теории реляционных баз данных считается сотрудник фирмы IBM доктор Э. Кодд, опубликовавший 6 июня 1970 г. статью A Relational Model of Data for Large Shared Data Banks (Реляционная модель данных для больших коллективных банков данных). В этой статье впервые был использован термин «реляционная модель данных», что и положило начало реляционным базам данных.
Теория реляционных баз данных, разработанная в 70-х годах в США доктором Э. Коддом, имеет под собой мощную математическую Основу, описывающую правила эффективной организации данных. Разработанная Э. Коддом теоретическая база стала основой для разработки теории проектирования баз данных.
Э. Кодд, будучи математиком по образованию, предложил использовать для обработки данных аппарат теории множеств (объединение, пересечение, разность, декартово произведение). Он доказал, что любой набор данных можно представить в виде двумерных таблиц особого вида, известных в математике как «отношения».
Реляционной считается такая база данных, в которой все данные представлены для пользователя в виде прямоугольных таблиц значений данных, и все операции над базой данных сводятся к манипуляциям с таблицами.
Таблица состоит из столбцов (полей) и строк (записей); имеет имя, уникаль
ное внутри базы данных. Таблица отражает тип объекта реального мира (сущ
ность), а каждая ее строка— конкретный объект. Так, таблица Спортивная
секция содержит сведения обо всех детях, занимающихся в данной спортивной
секции, а ее строки представляют собой набор значений атрибутов каждого кон
кретного ребенка. Каждый столбец таблицы — это совокупность значений конк
ретного атрибута объекта. Столбец Вес, например, представляет собой
совокупность всех весовых категорий детей, занимающихся в секции. В столбце
Пол могут содержаться только два различных значения: «муж.» и «жен.». Эти значения выбираются из множества всех возможных значений атрибута объекта, которое называется доменом (domain). Так, значения в столбце выбираются из множества всех возможных весов детей.
В самом общем виде домен определяется заданием некоторого базового' типа данных, к которому относятся элементы домена, и произвольного логического выражения, применяемого к элементам данных. Если при вычислении логического условия относительно элемента данных в результате получено значение «истина», то этот элемент принадлежит домену. В простейшем случае домен определяется как допустимое потенциальное множество значений одного типа. Например, совокупность дат рождения всех сотрудников составляет «домен дат рождения», а имена всех сотрудников составляют «домен имен сотрудников». Домен дат рождения имеет тип данных, позволяющий хранить информацию о моментах времени, а домен имен сотрудников должен иметь символьный тип данных.
В один домен могут входить значения из нескольких столбцов, объединенных, помимо одинакового типа данных, еще и логически. Например, домен может состоять из столбца с датой пйступления на работу и столбца с датой увольнения. Но в этот домен нельзя включить столбец с датой рождения, так как дата поступления или увольнения с работы не связана с датой рождения.
Если два значения берутся из одного и того же домена, т,о можно выполнять сравнение этих двух значений. Например, если два значения взяты из .домена дат рождения, то можно сравнить их и определить, кто из сотрудников старше. Если же значения берутся из разных доменов, то их сравнение не допускается,
так как, по всей вероятности, оно не имеет смысла. Например, из сравнения имени и даты рождения сотрудника ничего определенного не выйдет.
В большинстве систем управления реляционными базами данных понятие домена не реализовано.Каждый элемент данных в отношении может быть определен с указанием его адреса в формате A[i , j], где А — элемент данных, i — строка отношений, j — номер атрибута отношения.
Количество атрибутов в отношении определяет его порядок (или степень). Порядок отношения, приведенного в табл., равен 4.
ID сотрудника | Имя сотрудника | № паспорта | Дата рождения |
12576893 | Мамаев Евгений | 357934 ХИ-БА | 13.08.78 |
56387934 | Шкарина Лилия | 463865 XIV-БА | 07.10.72 |
85973002 | Салихов Тимур | 653473 Х1И-БА | 17.12.80 |
24856892 | Волков Иван | 395789 XVII-БА | 05.05.79 |
76578243 | Мамаев Сергей | 312642 XVII-БА | 21.09.80 |
Множество значений А [ i , j ] при постоянном i и всех возможных j образуют кортеж (или попросту строку таблицы). Количество всех кортежей в отношении определяет его мощность, или кардинальное число. Мощность отношения в табл. 2.2 равна 5. Мощность отношения, в отличие от порядка отношения, может со временем меняться. Совокупность всех кортежей образует тело отношения (или собственно таблицу).
Поскольку отношения являются математическими множествами, которые по определению не могут содержать совпадающих элементов, никакие два кортежа в отношении не могут быть дубликатами друг друга в любой момент времени.
Каждый столбец (поле) имеет имя, которое обычно записывается в верхней части таблицы. При проектировании таблиц в рамках конкретной СУБД имеется возможность выбрать для каждого поля его тип, то есть определить набор правил по его отображению, а также определить те операции, которые можно выполнять над данными, хранящимися в этом поле. Наборы типов могут различаться у разных СУБД.
Имя поля должно быть уникальным в таблице, однако различные таблицы могут иметь поля с одинаковыми именами. Любая таблица должна иметь, по крайней мере, одно поле; поля расположены в таблице в соответствии с порядком следования их имен при ее создании. В отличие от полей, строки не имеют имен; порядок их следования в таблице не определен, а количество логически не ограничено.
Так как строки в таблице не упорядочены, невозможно выбрать строку по ее позиции — среди них не существует «первой», «второй», «последней». Любая таблица имеет один или несколько столбцов, значения в которых однозначно идентифицируют каждую ее строку. Такой столбец (или комбинация столбцов) называется первичным ключом (primary key). В таблице Спортивная секция первичный ключ — это столбец Ф.И.О. Такой выбор первичного ключа имеет существенный недостаток: невозможно записать в секцию двух детей с одним и тем же значение поля Ф.И.О., что на практике встречается не так уж редко. Именно поэтому часто вводят искусственное поле, предназначенное для нумерации записей в таблице. Таким полем, например, может быть его порядковый номер в журнале для каждого ребенка, который сможет обеспечить уникальность каждой записи в таблице. Ключ должен обладать следующими свойствами. О Уникальностью. В каждый момент времени никакие два различных кортежа отношения не имеют одинакового значения для комбинации входящих в ключ атрибутов. То есть в таблице не может быть двух строк, имеющих одинаковый идентификационный номер или номер паспорта.
О Минимальностью. Ни один из входящих в ключ атрибутов не может быть исключен из ключа без нарушения уникальности. Это означает, что не стоит создавать ключ, включающий и номер паспорта, и идентификационный номер. Достаточно использовать любой из этих атрибутов, чтобы однозначно идентифицировать кортеж. Не стоит также включать в ключ неуникальный атрибут, то есть запрещается использование в качестве ключа комбинации идентификационного номера и имени служащего. При исключении имени служащего из ключа все равно можно уникально идентифицировать каждую строку.
Выполнение условия уникальности является обязательным. В то же время при необходимости может быть допущено нарушение условия минимальности.
Каждое отношение имеет, по крайней мере, один возможный ключ, поскольку совокупность всех его атрибутов удовлетворяет условию уникальности — это следует из самого определения отношения.
Один из возможных ключей произвольно выбирается в качестве первичного ключа. Остальные возможные ключи, если они есть, принимаются за альтернативные ключи. Например, если в качестве первичного ключа выбрать идентификационный номер, то номер паспорта будет альтернативным ключом.
Взаимосвязь таблиц является важнейшим элементом реляционной модели данных. Она поддерживается внешними ключами (foreign key). Рассмотрим пример. В базе данных содержатся сведения о различных касредрах университета (таблица Кафедры), а также сведения о работниках этих кафедр (таблица Сотрудники). Первичным ключом таблицы Сотрудники является поле I D, а таблицы Кафедры— поле Кафедра. Поле Кафедра таблицы Сотрудники является внешним ключом для связи с таблицей Кафедры.
При описании модели реляционной базы данных для одного и того же понятия часто употребляют различные термины, что зависит от уровня описания (теория или практика) и системы (Access, SQL Server, dBase). В табл. приведена сводная информация об используемых терминах.
Таблица Терминология баз данных
Теория БД_________Реляционные БД_______SQL Server___________
Отношение (Relation) Таблица (Table) Таблица (Table)
Кортеж (Tuple) Запись (Record) Строка (Row)
Атрибут (Attribute) Поле (Field)__ _________Столбец или колонка (Column)
Краткая характеристика редакции
SQL Server 2000
Первый вопрос, который необходимо решить, прежде чем приступить непосредственно к установке SQL Server 2000, — это выбор редакции. SQL Server 2000 поставляется в нескольких редакциях, обладающих разной функциональностью \ и имеющих свои отличительные особенности. Вы должны выбрать именно ту ' редакцию, которая более всего подходит для решения стоящих перед вами задач. Например, если требуется всего-навсего обеспечить переносной компьютер. с операционной системной Windows 98 высокофункциональным хранилищем данных, то вряд ли стоит приобретать SQL Server 2000 Developer Edition. Лучшим решением будет SQL Server 2000 Personal Edition.
Enterprise Edition
Используется в качестве промышленного сервера баз данных. Поддерживает все возможности, доступные в SQL Server 2000 и систем хранения данных.
SQL Server 2000 Enterprise Edition поддерживается следующими операцион
ными системами:
О Windows NT 4.0 Server;
О Microsoft Windows 2000 DataCenter;
О Windows 2000 Advanced Server;
О Windows 2000 Server;
О Microsoft Windows NT 4.0 Server, Enterprise Edition.
Standard Edition
Используется в качестве сервера баз данных для небольших рабочих групп.
Standard Edition поддерживается следующими операционными системами: ..
О Windows NT 4.0 Server;
О Microsoft Windows 2000 DataCenter
О Windows 2000 Advanced Server;
О Windows 2000 Server;
О Microsoft Windows NT 4.0 Server, Enterprise Edition.
Personal Edition
Используются в основном теми, кто не имеет сетевых возможностей, но запускает приложения, требующие SQL Кроме того, используется для одиночного приложения, требующего локального хранения данных на клиентском компьютере.
Personal Edition поддерживается следующими операционными системами:
О Microsoft Windows 98;
О Windows NT 4.0 Workstation;
О Windows NT 4.0 Server;
О Windows 2000 Professional;
О Microsoft Windows 2000 DataCenter;
О Windows 2000 Advanced Server;
О Windows 2000 Server;
О Microsoft Windows NT 4.0 Server, Enterprise Edition.
Developer Edition
Используется для разработки приложений с SQL Server в качестве хранилища данных. Хотя Developer Edition поддерживает все возможности Enterprise Edition, которые позволяют разработчикам писать и тестировать приложения, Developer Edition лицензируется только как система разработки и тестирования, а не как промышленный сервер.