Скачиваний:
89
Добавлен:
10.05.2014
Размер:
11.4 Mб
Скачать

принудительно добавляется в другую сущность для организации связи между этими сущностями.

Базовая таблица – таблица, которая включает в себя один или несколько атрибутов, отражающих собой объекты реального мира.

Таблица связей – искусственная таблица, предназначенная для связи между отдельными таблицами (смысловой нагрузки не несет).

В реляционной БД существуют следующие компоненты: схема данных, диаграмма связей, список отношений и их атрибутов с указанием основных характеристик.

В схеме базы данных указываются все отношения реляционной базы данных. Каждое отношение должно иметь уникальное имя и оформляться как отдельное предложение следующим образом: имя отношения указывается перед круглыми скобками, а в скобках перечисляются все атрибуты данного отношения. Атрибут, выделенный в качестве первичного ключа подчеркивается.

Группа (Номер группы, ФИО старосты, Специальность, Табельный номер куратора) Экзамен (Код экзамена, Наименование, Дата экзамена)

Куратор (Табельный номер, ФИО куратора, Должность, Дата приема) Связь (Номер связи, Номер группы, Код экзамена)

Диаграмма связей представляет собой графическое отображение схемы данных и является ее дополнением.

6.Реляционная алгебра. Основные операции реляционной алгебры.

7.Язык SQL. Операторы определения и манипулирования данными. Выборка данных из таблиц.

В современных СУБД обычно поддерживается единый интегрированный язык, содержащий все необходимые средства для работы с БД, начиная от ее создания, и обеспечивающий базовый пользовательский интерфейс с базами данных. Стандартным языком наиболее распространенных в настоящее время реляционных СУБД является язык SQL (Structured Query Language) - язык структурированных запросов.

ВSQL существуют четыре оператора манипулирования данными:

SELECT – выборка данных из таблиц

INSERT – вставка данных

DELETE –удаление данных

UPDATE –обновление данных

1) Добавление строк в таблицу (INSERT): Позволяет добавлять одну или несколько строк.

При использовании оператора INSERT указывается имя таблицы, в которую вставляются новые данные, имена колонок таблицы и значения соответствующие заданным колонкам таблицы. Для автоинкрементных полей значения задавать не следует. В списке вставляемых значений так же могут быть пропущены значения для колонок имеющих признак обязательности NULL.

Insert into Tabl4(A,C,D,F,G) values (1,‘asdf’,’05/10/2003’,20,7)

При использовании оператора INSERT имеется возможность вставлять сразу несколько

строк, которые являются результатом выполнения оператора SELECT.

Insert into Tabl1 Select A,C from Tabl4 where A>5

В данном примере в таблицу Tabl1 вставляется результат выполнения запроса из таблицы Tabl4, при этом за одно выполнения оператора INSERT в таблицу Tabl4 вставляется сразу несколько строк.

2) Удаление строк из таблицы (DELETE):

Оператор DELETE позволяет удалить одну или несколько строк. Пример удаления всех

строк из таблицы Tabl4:

Delete from Tabl4

Вслучаи если требуется удалить часть строк таблицы, то необходимо задать условие удаления:

Delete from Tabl4 where (A =5) or (A=10)

Вданном примере из таблицы удаляются строки, такие где значение атрибута А равно 5

или 10.

Delete from Tabl4 where C like ‘a%c’

Вданном примере из таблицы удаляются строки где значение атрибута С начнется с буквы а, а заканчивается на с.

3) Обновление данных (UPDATE):

При использовании оператора UPDATE требуется указать:

таблицу, данные которой подвергается обновлению;

колонки таблицы, для которых задаются новые значения;

условие для строк, которые подвергнутся обновлению.

Пример:

Update Tabl4 set F=G+1 where F<G

Вданном примере обновлению подвергается таблица Tabl4, при этом обновляется полеF таблицы для тех строк, где значение поля F меньше значения поля G. Новое значение поля F равно значению поля G увеличенное на 1.

4) Выборка данных (SELECT):

Для выборки данных из таблицы используется оператор SELECT.

Для одной таблицы Выбор строк

Select [поле1, поле2, ...] from Table1

Выбор всех строк

Select * from Table1

Выбор с удалением дублирующихся строк(distinct - отдельный)

Select distinct Field1 from Table1

Выбор строк по условию

Сравнивание с одиночными значениями

Select * from Table1 where F1='A'

Использование диапазонов (Between)

Select * from Table1 where F2>5 and F2<30

Select * from Table1 where F2 between 5 and 30

Вхождение во множество (in либо not in)

Select * from Table1 where F1 in ('A','Bc')

Select * from Table1 where F1 in ([...вложенный запрос...])

Использование шаблона (like). Метасимволы - % обозначает любую последовательность символов (0 и более символов), _ - любой одиночный символ:

Select * from Table1 where F1 like '%A%'

Проверка на нулевое значение строк (выбор по нулевым значениям)

Select * from Table1 where F1 in null

Сортировка результатов выборки :... order by ... desc (по убыванию)| ASC (по

возрастанию). Первая строка запроса содержится в переменной top1 (?).

Select * from Table1 order by Field1 desc Select top1 from Table1 order by Field1 asc

Использование агрегатных функций:count, min, max, sum, avg (среднее). В

примере As служит для указания заголовка столбца:

Select count(*) As Cnt from Table1 Select max(Field2) As MaxVal from Table1

Существование (exists) - если в выборке есть хотя бы одна строка, возвращает true, иначе - false.

Группировка: ... Group by [поле] having [условие для группы]

Select A, count(B) As BCnt from Table1 Group by A

Select A, count(B) As BCnt from Table1 Group by A having A like '%My%'

Подзапросы Обычные

Select * from Table1 where F1 in (Select A from Table2)

Использование Any (some) - любой и All - все: Синтаксис: ... [условие] All [подзапрос]

Select * from Table1 where F1 >Any([...подзапрос...]) Select * from Table1 where F1 !=All([...подзапрос...])

Для нескольких таблиц

Обычное

Select * from T1, T2 where T1.Field1=T2.Field1

Select * from T1 a, T2 b where a.Field1=b.Field1

Внутреннее соединение (закрытое) inner join:

Select * from T1 inner join T2 on T1.Field1=T2.Field1

Объединение 3-х таблиц:

Select * from T1 inner join T12 on T1.id=T12.id join T2 on T12.id=T2.id

Открытое соединение (левое, правое, полное)

Объединение таблиц: выбор всех строк из каждой таблицы UNION или выбор только совпадающих строк из таблиц (Intersect). При этом таблицы должны

быть совместимы по объединению. Объединяемые поля должны быть одного типа.

8. Модель данных "сущность-связь". Основные концепции и способы их представления на диаграммах. Современные методологии построения моделей "сущность-связь".

Модель "сущность-связь" (ER-модель) - набор концепций (высокоуровневая концептуальная модель данных), которые описывают структуру базы данных и связанные с ней транзакции: операции обновления и извлечения данных.

Следует особо отметить, что концептуальная модель данных не зависит от конкретной СУБД или аппаратной платформы, которая используется для реализации базы данных.

Основная цель разработки высокоуровневой модели данных заключается в создании модели пользовательского восприятия данных и согласования большого количества технических аспектов, связанных с проектированием базы данных.

ER-модель можно отнести к категории семантических моделей данных (главным назначением семантических моделей является обеспечение возможности выражения семантики данных). Развитая семантическая модель данных включает следующие части:

структурную часть;

манипуляционную часть;

целостную часть.

Использование при разработке БД: Наиболее часто на практике семантическое моделирование используется на первых стадии проектирования базы данных (инфологическое проектирование).

Основные концепции модели "сущность-связь" включают:

1.Типы сущностей - объект или концепция, которые характеризуются на данном предприятии как имеющие независимое существование (некоторое множество объектов реального мира с одинаковыми свойствами).

1.1.Сущность характеризуется независимым существованием и может быть (по существованию):

1.1.1.Сущностью с физическим (или реальным) существованием. Пример: работник, клиент, деталь, поставщик, изделие.

1.1.2.Сущность с концептуальным (или абстрактным) существованием.

Пример: осмотр объекта недвижимости,

продажа объекта

недвижимости, рабочий стаж.

 

1.2.Сущность - экземпляр типа сущности, который может быть идентифицирован уникальным образом.

1.2.1.Слабый тип сущности - тип сущности, существование которого зависит от какого-то другого типа сущности (зависимый тип сущности). Обозначается на диаграммах прямоугольником с двойным контуром.

1.2.2.Сильный тип сущности - тип сущности, существование которого не зависит от какого-то другого типа сущности (независимый тип сущности).

2.Типы связей (осмысленная ассоциация между сущностями различных типов). Связь - ассоциация между сущностями, включающая по одной сущности из каждого участвующего в связи типа сущности. Изображается в виде ромбика с указанием имени связи.

2.1.По количеству сущностей, участвующих в связи:

2.1.1.Унарная (рекурсивная) связь - связь, в которой одни и те же сущности участвуют несколько раз и в разных ролях. Могут присваиваться ролевые имена - для указания назначения каждой сущности-участницы данной связи. Ролевые имена имеют большое значение в рекурсивных связях, при определении функций каждого участника связи

2.1.2.Бинарная

2.1.3.Тернарная

2.1.4.Кватернарная

2.2.Показатель кардинальности - описывает количество возможных связей для каждой из сущностей-участниц. Правила, определяющие показатели кардинальности, называются бизнес-правилами организации или производственными правилами установленными на предприятии.

2.2.1.один к одному (1:1)

2.2.2.один ко многим (1:N)

2.2.3.многие ко многим (N:M).

2.3.Степень участия. Степень участия - определяет, зависит ли существование некоторой сущности от участия в связи некоторой другой сущности.

2.3.1.Полная (обязательная) степень участия. Обозначается двойной линией.

2.3.2.Частичная (необязательная) степень участия.

3.Атрибуты (свойства типа сущности или типа связи). Домен атрибута - набор значений, которые могут быть присвоены атрибуту.На диаграммах изображаются в виде эллипсов.

3.1.По уникальности записей:

3.1.1.Простой атрибут.

3.1.2.Потенциальный ключ - атрибут или набор атрибутов, который уникально идентифицирует отдельные экземпляры типа сущности. Ключ - элемент данных, который позволяет уникально идентифицировать отдельные экземпляры некоторого типа сущности. Составной ключ - потенциальный ключ, который состоит из двух или более атрибутов.

3.1.2.1.Первичный ключ - потенциальный ключ, который выбран в качестве первичного ключа.

3.1.2.2.При этом потенциальные ключи, которые не являются первичным, называются альтернативными ключами.

3.2.По количеству полей в атрибуте:

3.2.1.Простой атрибут - атрибут, состоящий из одного компонента с независимым существованием. Простые атрибуты не могут быть разделены на более мелкие компоненты (Пол, зарплата).

3.2.2.Составной атрибут - атрибут, состоящий из нескольких компонентов, каждый из которых характеризуется независимым существованием (пример: атрибут Адрес состоит из города, улицы, дома и.т.д.)

3.3.По количеству сущностей:

3.3.1.Однозначный атрибут - атрибут, который содержит одно значение для одной сущности.

3.3.2.Многозначный атрибут - атрибут, который содержит несколько значений для одной сущности. На диаграммах изображается двойным контуром.

3.4.Производный атрибут - атрибут, который представляет значение, производное от значения связанного с ним атрибута или некоторого множества атрибутов, принадлежащих некоторому (не обязательно данному) типу сущности. Пример: возраст - производный атрибут от даты рождения. На диаграммах изображается пунктиром.

Современные методологии построения модели сущность-связь:

Для графического представления ER-модели используются ER-диаграммы. Существуют различные методики построения ER-диаграмм: Чена, IDF1X и.т.д.

Компоненты стандарта IDF1X являются:

1.Сущности

1.1.Зависимые сущности

1.2.Независимые сущности

2.Домены

3.Связи

3.1.Идентифицирующие связи

3.2.Неидинтифицирующие связи

3.3.Связи типа категория

3.4.Неопределенные связи

4.Атрибуты

4.1.Простой атрибут

4.2.Первичный ключ

4.3.Альтернативный ключ

4.4.Внешний ключ

Всоответствии с методологией стандарта IDEF1X построение концептуальной (ещё

бывает внутренняя и физическая) модели осуществляется поэтапно.

Фазы проектирования:

Фаза 1. Определение сущностей.

Фаза 2. Построение модели уровня сущностей.

Фаза 3. Построение модели уровня ключей.

Фаза 4. Построение полноатрибутной модели.

Способы представления на диаграммах:

Соседние файлы в папке docs