Работа с базой данных примеров в этой книге

Оценить
(0 голоса)

База данных примеров, используемая в этой книге, представляет некую компанию с отделами и служащими. Каждый служащий в этом примере принадлежит ровно одному отделу; отдел имеет одного или более служащих. Работа служащих сосредоточена вокруг проектов: каждый служащий в одно и то же время работает с одним или более проектами, а каждый проект занимает одного или более служащих.

Данные в базе данных sample могут быть представлены с использованием четырех таблиц:

♦ department;

♦ employee;

♦ project;

♦ works_on.

Все таблицы базы данных sample.

Таблица department представляет все отделы компании. Каждый отдел содержит следующие атрибуты: department (dept_no, dept_name, location)

Здесь dept_no- уникальный номер каждого отдела, deptname- его название, a location - место размещения соответствующего отдела.

Таблица employee представляет всех служащих, работающих в компании. Каждый служащий имеет следующие атрибуты: employee (emp_no, emp_fname, emp_lname, dept_no)

Здесь emp no- уникальный номер каждого служащего, empfname и empiname - имя и фамилия каждого служащего соответственно. Наконец, deptno - это номер отдела, к которому относится данный служащий.

Каждый проект компании представлен в таблице project. Эта таблица имеет следующие столбцы: project  (project_no, project_name, budget)

Столбец projectno представляет уникальный номер каждого проекта, projectname и budget задают имя и бюджет каждого проекта соответственно.

Таблица works-on задает отношение между служащими и проектами. Она имеет следующие столбцы: works_on (emp_no, project_no, job, enter_date)

Здесь empno- номер служащего, projectno- номер проекта, с которым работает этот служащий. Комбинация значений данных в этих двух столбцах всегда является уникальной. Столбцы job и enterdate задают задачу и дату начала работы служащего с этим проектом соответственно.

При использовании базы данных sample можно описать некоторые основные свойства систем реляционных баз данных.

♦ Строки в таблице не имеют какого-либо особого порядка.

♦ Столбцы в таблице не имеют какого-либо специфического порядка.

♦ Каждый столбец должен иметь имя, уникальное в пределах таблицы. С другой стороны, столбцы из разных таблиц могут иметь одни и те же имена. (Например, база данных sample имеет столбец deptno в таблице department и столбец с тем же именем в таблице employee.)

♦ Каждый одиночный элемент данных в таблице должен иметь одно значение. Это означает, что каждая позиция в строке и столбце таблицы никогда не получает множества значений.

♦ Для каждой таблицы существует, по меньшей мере, один столбец (или комбинация столбцов), имеющий такое свойство, что в таблице не существует двух строк, содержащих ту же самую комбинацию значений данных для этого столбца. В реляционной модели данных подобный идентификатор называется кандидатом в ключи. Если в таблице содержится более одного кандидата в ключи, то проектировщик базы данных выбирает одного из них в качестве первичного ключа таблицы. Например, столбец deptno является первичным ключом в таблице department; столбцы empno и project_no- первичные ключи таблиц employee и project соответственно. Наконец, первичным ключом таблицы workson является комбинация столбцов emp_no и project_no.

♦ В таблице никогда не существует двух одинаковых строк. (Это свойство всего лишь теоретическое; Database Engine и другие системы реляционных баз данных обычно допускают существование идентичных строк в пределах одной таблицы.)

SQL - язык реляционной базы данных

Язык реляционной базы данных в SQL Server называется Transact-SQL. Он является диалектом наиболее важного на сегодняшний день языка баз данных - Structured Query Language (SQL, язык структурированных запросов). Происхождение SQL тесно связано с проектом, названным System R, который разрабатывался и реализовывался компанией IBM в начале 1980-х годов. Этот проект показал, что возможно, используя теоретические основы работы И. Ф. Кодда, создать систему реляционной базы данных.

В отличие от традиционных языков, таких как С, С++ и Java, SQL является языком, ориентированным на множество. (Ранее подобные языки назывались ориентированными на записи.) Это означает, что SQL может запрашивать множество строк из одной или более таблиц, используя всего лишь один оператор. Эта возможность является одним из наиболее важных преимуществ SQL, что позволяет использовать этот язык на логически более высоком уровне, чем тот уровень, на котором могли быть использованы традиционные языки.

Другим важным свойством SQL является его непроцедурность. Каждая программа, написанная на процедурном языке (С, С++, Java), описывает, как должна решаться задача- шаг за шагом. В противоположность им SQL, как и любой другой непроцедурный язык, описывает, что хочет получить пользователь. Следовательно, система является ответственной за нахождение соответствующего способа удовлетворения требований пользователей.

SQL содержит два подъязыка: язык определения данных (Data Definition Language, DDL) и язык манипулирования данными (Data Manipulation Language, DML). Операторы DDL используются для описания схемы - таблиц базы данных. Язык DML содержит три обобщенных оператора: create объект (создание объекта базы данных), alter объект (изменение характеристик объекта) и drop о&ъект (удаление существующего объекта). Эти операторы создают, изменяют и удаляют объекты базы данных, такие как сама база данных, таблицы, столбцы и индексы.

В отличие от DDL язык DML содержит все те операторы, которые манипулируют данными. Всегда существуют четыре основные операции манипулирования базой данных: поиск, добавление, удаление и изменение. Оператор поиска данных select описывается в главе б, в то время как операторы insert, delete и update.


Проектирование базы данных
Нормальные формы
Первая нормальная форма
Вторая нормальная форма
Третья нормальная форма

Добавить комментарий


Защитный код
Обновить

© 2018 www.serversql.ru. Все права защищены.