Этапы проектирования БД и модели, создаваемые в процессе проектирования: инфологическая, даталогическая, физическая, внешняя. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Этапы проектирования БД и модели, создаваемые в процессе проектирования: инфологическая, даталогическая, физическая, внешняя.



Компоненты БнД

Словарь данных – «хранилище» метаинформации.

Метаинформация – информация об информации, которая хранится в БнД.

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

Языковые средства предназначены для пользователей различных категорий (конечный пользователь: финансовый менеджер, системный аналитик, профессиональный программист).

Программные средства – компиляторы, машины БД, интерпретаторы.

BDE – Borland Data Base – Engine (машина).

Технические средства, используемые в БнД – это компьютеры (mainframe, ПК), периферийные устройства (монитор, клавиатура), коммутационная аппаратура.

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

Администратор БнД – специалист или группа специалистов, обеспечивающая создание, развитие, функционирование БнД.


Этапы проектирования БД и модели, создаваемые в процессе проектирования: инфологическая, даталогическая, физическая, внешняя.

I Инфологическое моделирование как результат разработки модели ПО

Предметная область – это часть реального мира, которая представляет интерес.

Инфологическая модель предметной (ИЛМ) области – описание предметной области, выполненное без ориентации на использованные в дальнейшем СУБД и технологические средства, и отражающие информационные аспекты ПО.

II Даталогическое проектирование

Даталогическая модель (ДЛМ) строится на основе ИЛМ. ДЛМ БД является концептуальной моделью БД и отражает логические связи между информационными элементами ДЛМ. В ДЛМ фиксируются данные и связи данных между ними.

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

Схема БД - описание ДЛМ на языке выбранной СУБД.

Описание связи между объектами. Типы (степени) связи, классы принадлежности.

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

Различают 4 типа связи:

1. 1:1

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

3. N:1 (многие к одному).

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

Помимо «тип связи» используется понятие «степень связи». В инфологической модели помимо степени связи надо указывать принадлежность связи.

Класс принадлежности – показывает должен или не должен объект одного класса участвовать в связях с объектами другого класса. Класс принадлежности объекта может быть обязательным или необязательным.

Обязательный класс принадлежности.

Если все объекты первого класса должны участвовать в связи с объектами второго класса, то класс принадлежности объектов 1-го класса называется обязательным.

Необязательный класс принадлежности.

Если некоторые объекты 1-го класса могут не участвовать в связях с объектами 2-го класса, то класс принадлежности объектов 1-го класса называются необязательными.


ER-диаграммы и их разновидности. Понятия сущности, связи, атрибуты.

Преподаватель читает курс.

Связь именуется глаголом «читает».

Связь между объектами может быть выражена 2 способами представления с помощью ER-диаграмм.

Диаграмма ER-экземпляра.

По номеру курса можно однозначно идентифицировать курс.

 

 

Диаграмма ER-типа

 

Тип связи 1 к 1.

 

Класс принадлежности объектов и для П и для К необязательный.

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

Как правило в описании предметной области сущность обозначается как существительное.

Связь – представляет собой соединение между двумя или более сущностями.

При поиске связей в описании предметной области следует полагаться в основном на то, что связь отражается глаголом.

Атрибут – свойство сущности.

Атрибутами сущности «Преподаватель» является номер, ФИО, дата рождения, должность.

<П1, К2>

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

Ключ связи – набор ключей сущностей, которые соединяются этой связью.

Ключом связи «Читает» является набор сущностей П и К <НП, НК>.

Каждый преподаватель читает 1 курс, каждый курс читается одним преподавателем.

 

 

Каждый преподаватель читает 1 курс, каждый курс читается не более, чем одним преподавателем.

 

 

Каждый курс читается одним преподавателем. Каждый преподаватель читает не более одного курса.

 

 

 

Каждый преподаватель читает одновременно несколько курсов, но каждый курс читается не более, чем одним преподавателем.

 

 

 

 

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

 

 

Каждый преподаватель может читать несколько курсов, и каждый курс может читаться несколькими преподавателями.

 

 


Определение состава БД.

Один из подходов к определению состава БД – принцип синтезирования.

Суть: В БД должны храниться только исходные показатели. Все производные показатели должны вычисляться в момент поступления запроса.

Достоинства:

1. Простота и однозначность при решении вопроса в том, что хранить в БД.

2. Отсутствие явного дублирования информации.

3. Имеется потенциальная возможность получить любой рассчетный показатель, а не только хранимые в базе показатели.

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

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

При отображении объекта в БД естественный идентификатор объекта будет атрибутом или свойством, который используется для однозначной идентификации объектов. Однако может появиться необходимость ввести искусственные идентификаторы или коды для обозначения объектов. Это может потребоваться:

1. когда в предметной области наблюдается омонимия;

2. если объект участвует во многих связях, то для идентификации связи удобнее использовать короткий код объекта вместо естественного длинного идентификатора;

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


Основные понятия реляционных БД (РБД): кортеж, домен, отношение, степень отношения, мощность отношения, первичный и внешний ключи.

Существует теория РБД, в которой исп. след. понятия:

Реляционная БД – совокупность отношений, содержащих всю информацию, которая должна храниться в БД.

Отношение – пусть дано N мн-тв. Отношением R над ними наз. мн-во упоряд-х N кортежей след. вида:

D1 <d1, d2,.., dn>, где d1єD1, d2єD2, … dnєDn.

D2 R

..

Dn

Пр.

D1 – мн-во целых чисел (номера преп.{101, 102 …})

D2 – мн-во строк (обозначают фамилию преп. {Иванов, Петров …})

D3 – мн-во строк (обозначают должность преп. {доцент, проф. …})

D4 – мн-во чисел (стаж работы {10,5,2 …})

Di – принято называть доменами отношения (области опр. отношение R)

D1(НП), D2(ФАМ), D3(ДОЛЖ), D4(стаж) отношение

D1 D2 D3 D4

НП Фамилия Должность Стаж
  Сидоров профессор 10
  Иванов профессор  
  Калинин лаборант
кортеж
40

100 Лысых лаборант  

2.таблица с именем преподавателя со столбцами–атрибутами(визуально)

3.с программ. т. зр. отношение – файл, состоящий из записей; каждая запись составляет кортеж;

поля записи – атрибуты (столбцы).

Математич. Визуаль. Программ.
отношение таблица Файл
кортеж строка Запись
Домен(атрибут) столбец Поле записи

Для однозначной идентификации кортежей используется, т.н. первичный ключ отношения – атрибут или набор из мин. числа атрибутов, которые однозначно идентифицируют кортеж.

В реляц. БД отношения взаимосвязаны м/у собой как главная и подчиненная. Одной строке в главной таблице может в общем случае соответствовать несколько строк в подчиненной таблице.

Препод – глав. табл.. Читает – подчин. табл.

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

Внешний ключ – атрибуты (набор) подчиненных таблиц, кот. в глав. табл. являются первичным ключом.


Пример проектирования РБД: создание ИЛМ и переход к ДЛМ.

В качестве предметной области-жители Зеленограда. Сформируем простую реляционную БД, где хранятся сведения для налоговой инспекции.

ИЛП

Лингвистические отношения

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

Nom – порядковый номер.

KCategory – приватизированная P, неприватизированная N, коммун. K

Money - в как ед.

3. Алгоритмический набор показателей(атрибутов).

Ограничение целостности.

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

-Доход>0

-Значение KCategory выбиралось из списка(N, K, P)

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


ДЛП

Анализ СУБД, ознакомление со средствами проектирования БД, определение состава БД.

При выполнении ДЛП надо определить состав БД.

Structured Query Language

Конкретные реализации SQL учитывают требования стандарта, но предоставляют и дополнительные возможности (SQL1, SQL2(1992), SQL3(1999))

SQL можно использовать в 2-х режимах:

1. Интерактивном (диалоговом)

2. Прикладном

Отсюда две разновидности: интерактивный SQL и программный SQL. В функциональном отношении мало отличаются.

Применение программного:

1. Встроенный SQL. Оператор языка SQL записывается непосредственно в тексте программы (встроенный статический SQL), составленной на обычном языке программирования. Либо формируется в спец. обл. памяти (встроенный динамический SQL). Затем выполняется в ходе исполнения программы.

2. Интерфейс прикладной программы API. Программа взаимодействует с СУБД посредством совокупности функций. Вызывая API-функции, программа передает операторы SQL и получает обратно результаты запроса.

Элементы языка: литералы.

Точные числовые литералы (-22, 300.435)

Числовые литералы (10E-3, 4E2)

Строковые константы заключаются в апострофы


Предложение Select

В качестве ТРЗ может быть имя столбца, константа, выражение.

Имя столбца идентифицирует один из столбцов, содержащихся в таблице, которая указана в предложении FROM. Оно может быть указано, как в полном виде (имя_таблицы. имя_столбца), так и просто имя_столбца.

Если в качестве возвращаемого столбца указывается имя столбца из таблицы БД, то СУБД берет значение этого столбца для каждой из строк таблицы БД и помещает это значение в соответствующую строку ТРЗ.

Константа указывает на то, что в каждой строке ТРЗ должно содержаться одно значение, = этой константе.

Если указывается выражение, то СУБД помещает в ТРЗ значение, вычисленное по формуле, записанной выражением.

Звездочка – для просмотра всех столбцов.

DISTINCT – для исключения повторов.

Предложение WHERE

Указывает, какие строки следует отбирать. Задается условие поиска, как критерий отбора.

Виды условий поиска:

1. Сравнение. =, <>, <, >, <=, >=.

2. Проверка на принадлежность к диапазону значений. `Проверяемое выражение` (NOT) BETWEEN `Нижнее выражение` AND `Верхнее выражение`.

3. Проверка на принадлежность к множеству значений. `Проверяемое выражение` (NOT) IN (константа, константа…).

4. Проверка на соответствие шаблону. `Проверяемое выражение` (NOT) LIKE (шаблон).

5. Проверка на равенство неопределенному значению. `Проверяемое выражение` IS (NOT) NULL.

ORDER BY

ASC – сортировка по возрастанию (по-умолчанию), DESC – по убыванию. Первый столбец – главный ключ в сортировке, а следующие за ним являются всё более второстепенными ключами сортировки.

UNION

Для объединения результатов нескольких запросов. Используется для таблиц, удовлетворяющих условиям:

1. Кол-во столбцов в объединяемых ТРЗ должно быть одинаковым.

2. Типы данных соответствующих столбцов из 1-й и 2-й таблиц должны совпадать.

3. Ни одна из объединяемых таблиц не должна быть отсортирована с помощью ORDER BY.

Выполняется так, что объединенной таблице повторяющихся строк не будет. Другая форма оператора – UNION ALL – позволяет получить таблицу со всеми строками, включая повторяющиеся.

С помощью оператора UNION можно объединить несколько таблиц.

Примеры.

1. Количество жителей квартиры и сформировать таблицу результатов

SELECT ADR, COUNT(*) FROM PERSON

GROUP BY ADR.

2. Нужно подсчитать количество источников дохода у каждого жителя.

SELECT NOM, COUNT(ID) FROM HAVE_D

GROUP BY NOM.

3. Сколько различных источников дохода имеют жители каждой квартиры.

SELECET ADR, COUNT(DISTINCT ID) FROM HAVE_D, PERSON

WHERE HAVE_D.NOM = PERSON.NOM

GROUP BY ADR.

Предложение GROUP BY видоизменяет действие агрегатных функций; результаты запроса следует разделять на группы, применить агрегатную функцию к каждой группе и получить для каждой группы 1 строку в таблице результата.

Пример.

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

SELECT NOM, FIO FROM PERSON

WHERE SUMD < (SELECT MAX(MONEYS) FROM PROFIT).

Вложенный запрос – оператор SELECT, заключенный в круглые скобки, и используемый в предложениях WHERE или HAVING.

Отличия:

1. таблица результатов вложенного запроса всегда состоит из 1-го столбца. Список возвращаемых столбцов во вложенном запросе всегда должен иметь только 1 элемент.

2. во вложенный запрос не может входить предложение ORDER BY для экономии времени.

3. вложенный запрос не может быть запросом на объединение нескольких различных операторов SELECT.

4. особенность: имена столбцов используемых во вложенном запросе могут являться ссылками на столбцы главного или внешнего запроса.


Пример.

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

SELECT * FROM FLAT

WHERE SKV*100>=(SELECT SUM(SUMD) FROM PERSON

WHERE PERSON.ADR = FLAT.ADR).

 

FLAT.ADR – внешняя ссылка, представляет собой имя столбца, принадлежащего таблице, указанной в предложении FROM главного запроса и не входящего ни в одну из главных таблиц, перечисленных в предложении FROM вложенного запроса.

Если во вложенном запросе имеется внешняя ссылка, то такой запрос называется связанным.

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

Многократное сравнение.

Добавление новых элементов.

Наименьшей единицей информации, которую можно добавить в базу данных, является одна строка.

Существует 2 способа добавления новых строк:

1) однострочный оператор INSERT, включающий в таблицу 1 строку

2) многострочный оператор INSERT, обеспечивающий извлечение строк из одной базы данных (таблицы) в другую таблицу.

INSERT INTO имя таблицы, в которую добавляется строка
1)

INSERT INTO FLAT VALUES(‘Зеленоград, 8.12.04 1101-12’, 40, 3, ‘Н’)- вставляет строку в таблицу FLAT.

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

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

Многострочный оператор

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

INSERT INTO PERSON(FIO, RDATE, POL,SUMD, ADR)

SELECT ‘Алов Наум Наумович’, ’01-JAN-1970’, ‘М’, SUMD, ‘Зеленоград, 1001 - 51’

FROM PERSON

WHERE NOM = 16.

При отсутствии строки под номером 16, СУБД выдаст сообщение об ошибке, т.к. невозможно совершить преобразование пустой строки.

Пример.

Изменяем номер и категорию телефона для определенной квартиры.

UPDATE TPHONE SET NTEL = ’111-0000’, TCATEGORY = ‘C’ WHERE ADR = ‘Зеленоград, 904-55’

Используя оператор UPDATE, можно одновременно изменить несколько столбцов.

Выражение, которое записывается в операторе присваивания, может быть любым правильным выражением языка SQL, результирующее значение которого имеет тип данных соответствующий целевому столбцу. Значение выражения вычисляются на основе значения строки, которое в данный момент обновляется в целевой таблице. Выражение не может содержать какие-либо агрегатные функции и вложенные запросы. Если выражение содержит ссылку на 1-н из столбцов целевой таблицы, то для вычисления выражения используется это значение в текущей строке, которое было перед обновлением. То же самое справедливо для ссылок на столбцы в предложении WHERE.

Язык обработки данных (DML) состоит из операторов UPDATE, DELETE.

DML – Data Manipulation Languages.

DDL – Data Definition Languages.


Задание и изменение структуры БД: операторы CREATE TABLE, DROP TABLE, ALTER TABLE.

1. CREATE TABLE. – создание базы таблицы описывается структура таблицы.

Определение первичного ключа

Определение внешнего ключа

REFERENCES имя_таблицы

Пример

CREATE TABLE HAAVE_D

(NOM INTEGER,

ID INTEGER,

COMMENT CHAR(30),

CONSTRAINT PK_HAVE_D PRIMARY KEY (NOM, ID),

CONSTRAINT FK_HAVE_D_1 FOREIGN KEY (NOM) REFERENCES PERSON,

CONSTRAINT FK_HAVE_D_2 FOREIGN KEY (ID) REFERENCES PROFIT,

CONSTRAINT CK_NOM CHEK(NOM IS NOT NULL),

CONSTRAINT CK_ID CHEK(ID IS NOT NULL))

Индексы.

Индекс – это средство, которое обеспечивает быстрый доступ к строкам таблицы на основе значения 1-го или нескольких столбцов. В индексе хранятся значения данных и указатели на строки, где эти данные встречаются. Значения данных в индексе располагаются в убывающем или возрастающем порядке, чтобы СУБД могла быстро найти значение. Наличие или отсутствие индекса влияет на скорость поиска информации.

Для создания индекса в языке SQL существует оператор CREATE INDEX; синтаксическая диаграмма:

|----CREATE-----------------àINDEX имя_индекса--ON имя_таблицы-----(--имя_столбца--------)à

|àUNIQUEà| | |ASC||

| |DES||

|ß--------, --------ß|

CREATE INDEX FIO_IDX_PERSON ON PERSON (FIO) – значения в индексе будут расположены в алфавитном порядке.

Удаление индекса: DROP INDEX имя_индекса.

Компоненты БнД

Словарь данных – «хранилище» метаинформации.

Метаинформация – информация об информации, которая хранится в БнД.

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

Языковые средства предназначены для пользователей различных категорий (конечный пользователь: финансовый менеджер, системный аналитик, профессиональный программист).

Программные средства – компиляторы, машины БД, интерпретаторы.

BDE – Borland Data Base – Engine (машина).

Технические средства, используемые в БнД – это компьютеры (mainframe, ПК), периферийные устройства (монитор, клавиатура), коммутационная аппаратура.

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

Администратор БнД – специалист или группа специалистов, обеспечивающая создание, развитие, функционирование БнД.


Этапы проектирования БД и модели, создаваемые в процессе проектирования: инфологическая, даталогическая, физическая, внешняя.



Поделиться:


Последнее изменение этой страницы: 2017-01-25; просмотров: 572; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.216.163 (0.119 с.)