Концепция баз данных Активная деятельность по отысканию приемлемых способов обобществления непрерывно растущего объема информации привела к созданию в начале 60-х годов специальных программных комплексов, называемых с истемы управления базами данных

Вид материалаДокументы

Содержание


1.2. Концепция баз данных
1.3. Технология БД .
Документальные системы
2.2. Логическое проектирование
2.2.1. Реляционная модель данных
2.2.2. Проектирование реляционной БД
2.2.3. Язык SQL - структурированный язык запросов.
ALL ( все столбцы) или
HAVING < условие> ( Условие позволяет отбирать группы) ORDER BY
Программирование в системе Turbo Prolog.
Основные понятия.
Разделы программы.
Цель - предикат, который требует согласовать с базой фактов и правил. Пример
Основные механизмы языка Prolog.
Механизм отсечения
Списки в языке PROLOG.
Создание БД в Turbo Prolog.
Системы управления базами данных.
Access. access
ACCESS использует также средства программирования, которые называются Visual Basic for Applications (VBA).
...
Полное содержание
Подобный материал:
  1   2

Глава 1.Что такое базы данных и СУБД


1.1. Данные и ЭВМ

Восприятие реального мира можно соотнести с последовательностью разных, хотя иногда и взаимосвязанных, явлений. С давних времен люди пытались описать эти явления (даже тогда, когда не могли их понять). Такое описание называют данными.

Традиционно фиксация данных осуществляется с помощью конкретного средства общения (например, с помощью естественного языка или изображений) на конкретном носителе (например, камне или бумаге). Обычно данные (факты, явления, события, идеи или предметы) и их интерпретация (семантика) фиксируются совместно, так как естественный язык достаточно гибок для представления того и другого. Примером может служить утверждение "Стоимость авиабилета 128". Здесь "128" – данное, а "стоимость авиабилета" – его семантика.

Нередко данные и интерпретация разделены. Такое разделение затрудняет работу с данными.

1.2. Концепция баз данных

Активная деятельность по отысканию приемлемых способов обобществления непрерывно растущего объема информации привела к созданию в начале 60-х годов специальных программных комплексов, называемых системы управления базами данных (СУБД).

Основная особенность СУБД – это наличие процедур для ввода и хранения не только самих данных, но и для описания их структуры. Файлы, снабженные описанием хранимых в них данных и находящиеся под управлением СУБД, стали называть банками данных, а затем базами данных (БД).

База данных – эта поименованная хранимая в виде записей в долговременной памяти совокупность структурированных данных о предметной области.


1.3. Технология БД .Последние три десятилетия в области разработки информационных систем сформировалась новая информационная технология- технология БД. Эта технология включает в себя методы, средства, способы и практические рекомендации применения БД в качестве основного компонента в различных информационных системах (ИС). Существуют разновидности информационных систем , использующие технологию БД: документальные (ДС) и фактографические (ФС).

Документальные системы предназначены для работы с документами на естественном языке: книги, тезисы, статьи... Наиболее распространенным видом ДС является информационно -поисковые системы (ИПС), которые предназначены для накопления и поиска по различным критериям документов. В состав ИПС входят: программные средства, поисковые массивы документов и средства поддержки языка этой системы.

Программные средства ИПС служат для организации ввода и хранения информации, а также обработки пользовательских запросов. Поисковые массивы документов обычно называют БД, и он не содержит текстов, а только библиографические сведения: рефераты и аннотации. При выполнении поиска документа используют поисковые образы, которые, по сути, являются ключевыми словами поискового документа.

Информационные языки (ИЯ) в ИПС строятся на базе ограниченных естественных языков. Это приводит к неоднозначной интерпретации смысла запросов. Для решения этой проблемы вводятся словари- тезаурусы. Они описывают лексические единицы языка и смысловые связи между ними. Наибольшим распространением для реализации таких ИЯ получили языки дескрипторного типа, которые в качестве лексических единиц или дескрипторов используют слова или словосочетания соответствующим основным понятиям предметной области и заносят их тезаурусы.

Информационный запрос формируется на таком ИЯ, затем преобразуется в поисковых образах запроса (ПОЗ) , ПОЗ сопоставляется с поисковым образом документа по критерию смыслового совпадения, и в результате выдаются все документы, которые оказались релевантными этому запросу.

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

СУБД должна предоставлять доступ к данным любым категориям пользователей, включая и тех, которые практически не имеют или не хотят иметь представления о:
  • физическом размещении в памяти данных и их описаний;
  • механизмах поиска запрашиваемых данных;
  • проблемах, возникающих при одновременном запросе одних и тех же данных многими пользователями (прикладными программами);
  • способах обеспечения защиты данных от некорректных обновлений и (или) несанкционированного доступа;
  • поддержании баз данных в актуальном состоянии и множестве других функций СУБД.


В дальнейшем будем рассматривать фактографические системы.

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


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

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

БД можно разделить на централизованные и распределённые.

Централизованные хранятся в памяти первой ЭВМ.

Распределённые БД состоят из нескольких, возможно даже пересекающихся компонент БД, хранимых на различных ЭВМ сети.

Проектирование БД- это одна из наиболее ответственных и трудных задач при создании ИС. Проектирование обычно поручается человеку – администратору базы данных (АБД), который может руководить группой системных программистов и техников.


Глава 2. Проектирование баз данных


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


Обобщённая схема обработки информации с помощью БД.





ДУПД – документ условно-постоянных данных.

ДОУД – документ оперативно-учетных данных.


Основные этапы проектирования БД:

1.Инфологическое проектирование.

2.Логическое проектирование и выбор инструментальных средств СУБД.


2.1. Инфологическое проектирование

В результате этого этапа проектирования БД должна быть создана инфологическая модель. Эта модель строится путём анализа объектов и связей предметной области. Существует функциональный и объектный подход в инфологическом проектировании. Функциональный подход реализует принцип «от задач». Объектный подход не фиксирует количество решаемых задач, а в инфологическую модель включает только объекты и связи между ними. Смешанный подход включает предметный и функциональный [ Будых].

Рассмотрим инфологическое проектирование для объектного подхода. Для описания инфологической модели здесь используются диаграммы «объекты - связи» или, по-другому, «ER- диаграммы» .

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


Связь 1) 1:1 Пример такой связи





Служащий отдел

Связь

Нач. отдела


2) 1:n Книга, связанная с читателем

книга читатель


3) n:m Страны товары


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

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

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

Совокупность объектов и связей между ними определяет структуру предметной области, на основе которой строится инфологическая модель. На рис. 1 приведена инфологическая модель БД некоторой авиалинии.

Рассмотрим элементы диаграммы «объекты- связи» (ER – диаграммы) для описания инфологической модели.

Атрибут


Информационный объект


Связь


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

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





Рис.1. Пример ER-диаграммы инфологической модели БД авиалинии


Объект Рейс: ключевой атрибут- № Рейса.

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


Определение информационных объектов предметной области.


Порядок выделения информационных объектов, отвечающих требованиям нормализации
  1. На основе описания предметной области определить имеющиеся документы и их реквизиты, подлежащие к хранению в БД.
  2. Определить функциональную зависимость между реквизитами.
  3. Выбрать все зависимые реквизиты и указать для каждого соответствующ ий ключевой реквизит.
  4. Сгруппировать реквизиты, одинаково зависящие от ключевого реквизита. Эти группы образуют информационные объекты.


Пример: (Список сотрудников)

Название кафедры ________________(НКАФ)

Код кафедры_____________________(ККАФ)

Заведующий кафедрой_____________(ЗАВ)

Телефон_________________________(ТЕЛ)


Таб. 1

Таб. Номер

(ТАБН)

Фамилия И.О.

ФИО

Описательные реквизиты

Ключевые реквизиты

НКАФ

ТЕЛ

ЗАВ

ФИО

СТ

ЗВ

ККАФ

ККАФ

ККАФ

ККАФ

ТАБН

ТАБН

ТАБН

ТАБН


Мы выделили 2 информационных объекта: 1-ый




2-ой


Задание №1 (л.р. 1) – построить информационные объекты БД, которые содержат информацию учения за 1 семестр

С


Реквизиты
писок студенческой группы - № студенческого билета, ФИО

- год рождения, адрес, проходной балл

Изучаемые предметы - Код предмета

- Название, общее число часов

- Лекционные часы, практические часы, число

семестров

Экзаменационная ведомость - Название предмета

- Группа, преподаватель, вид сдачи, дата

сдачи

Таб. №3

№ студенческого

билета

ФИО

Оценка

Подпись

Преподавателя
  • Согласно варианту составить простую ER-диаграмму для следующей предметной области

(библиотека художественной литературы)


2.2. Логическое проектирование


Каждая система СУБД поддерживает ту или иную модель данных.

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

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

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

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

2.2.1. Реляционная модель данных


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

Для отображения информационных объектов и связей Кодд предложил использовать отношения, представляемые на уровне пользователя в виде таблиц, и математические операции над ними . РМД наиболее проста и имеет в основе развитый математический аппарат ( реляционная алгебра и реляционное исчисление)[ Дейт], поэтому она фактически стала стандартной моделью представления данных в СУБД .


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

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

Декартовым произведением доменов D1D2 D3. . . .Dk является множество всех кортежей (V1,V2,V3, . . . ,Vk) длины k таких, что : V1D1, V2 D2, V3 D3, . . ., Vk Dk.

Отношением называется некоторое подмножество декартового произведения одного или нескольких доменов.

Будем считать, что это подмножество конечно. Элементы отношения называются кортежами. Отношение характеризуется арностью, т.е. количеством компонент. Любое отношение легко представить в виде таблицы, где каждая строка – кортеж, а столбец соответствует атрибуту (домену) этого отношения.

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

Пример: отношение ГОРОД(название, район, население).


Название

Район

Население

Москва

Центральный

7 000 000

Ульяновск

Поволжье

800 000

Димитровград

Поволжье

180 000



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

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

Связи между отношениями реализуются путем указания одинаковых атрибутов -ключей связи.

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

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

Рассмотрим основные операции над отношениями.

Пусть R и S – отношения, они интерпретируются таблицами. Арность этих отношений одинакова.
  • Объединение отношений: R union S . Результатом этого объединения будет отношение,содержащее кортежи принадлежащие и R и S.
  • Разность отношений: R difference S. Результатом этой операции будет отношение,содержащее кортежи принадлежащие R, но не принадлежащие S.
  • Декартовое произведение отношений : Х cross У. Пусть Х, У – отношения арности k и t соответственно. Тогда Х cross У есть отношение, содержащее множество кортежей длины k+ t, первые k компонентов которых образуют кортежи отношения Х, а последние t компонент – кортежи отношения У.

Пример : даны 2 отношения Х и У.

Отношение Х (Адрес,Улица,Дом)– таблица из 3 столбцов и 3 строк:


Адрес

Улица

Дом

A1

B1

C1

A2

B2

C2

A3

B3

C3


Отношение У(Квартира,Подъезд,ФИО):


Квартира

Подъезд

ФИО

D1

G1

E1

D2

G2

E2


Х cross У – таблица из 6 столбцов и 6 строк:


Адрес

Улица

Дом

Кварт.

Подъезд

ФИО

A1

B1

C1

D1

G1

E1

A1

B1

C1

D2

G2

E2

A2

B2

C2

D1

G1

E1

A2

B2

C2

D2

G2

E2

A3

B3

C3

D1

G1

E1

A3

B3

C3

D2

G2

E2



  • Проекция Proj R(d1,d2 . . . dn). В отношении R арности k, (k>n) проекция получается путем выделения проецируемых доменов d1, d2 . . .dn в отдельное отношение и удаления повторяющихся кортежей.


Пример: PROJ Х cross У (Адрес,Дом)


Адрес

Дом

A1

C1

A2

C2

A3

C3



  • Селекция SEL (F) R. Пусть F – формула, образованная операндами-доменами, арифметическими операциями сравнения и логическими операциями AND, OR, NOT. В этом случае селекция SEL (F) R есть множество кортежей t, принадлежащих R, таких, для которых формула F является истинной.
  • Соединение R join S . Результатом будет отношение, содержащее конкатенацию (т.е. соединение) каждого кортежа отношения R с кортежем отношения S, у которых совпадают значения в общем домене.



Пример:

БД 1:




Название зоопарка

Животные

Зона обитания

1

Эйтун

Кенгуру

Австралия

2

Эйтун

Верблюд

Аравийский п-ов

3

Битон

Эму

Австралия

4

Битон

Верблюд

Аравийский п-ов

БД 2:

Животные

Класс

Эму

Млекопитающее

Жираф

Млекопитающее

Кенгуру

Млекопитающее


БД1 join FULL БД2

Битон

Эму

Австралия

Млекопитающее

Эйтон

Кенгуру

Австралия

Млекопитающее



Правила Кодда, которым должна соответствовать РБД:
  1. Правило информации. Вся информация, хранящаяся в БД находится в таблицах.
  2. Правило гарантированного доступа. Доступ к информации и значениям в таблице гарантированно осуществляется, если указать имя таблицы, имя столбца в таблице и значение первичного ключа в таблице.
  3. Правило поддержки недействительных значений. В качестве отсутствующих значений БД может использовать NULL – значения. Значения ключевых атрибутов не могут быть NULL – значения.
  4. Правило обновления, добавления, удаления. Эти правила реализуются на уровне записей таблицы.
  5. Правило независимости физических данных. При изменении способов хранения данных и доступа к ним на уровне физической организации, логическая структура РБД не меняется.
  6. Правило использования условия целостности данных. РБД должна поддерживать возможность определения условия целостности данных.


2.2.2. Проектирование реляционной БД


Логическое проектирование реляционной схемы БД заключается в адекватном отображении объектов и связей между этими объектами, определенных в инфологической модели с помощью ER-диаграмм, в набор отношений , которые представляются реляционными таблицами.

Для получения отношений, образующих логическую модель БД, можно использовать технологию, основанную на анализе степени связи и класса принадлежности двух связанных объектов ER-диаграмм [Будых].

Рассмотрим различные виды связей на примере объектов «книга» и «читатель». На рис.3 изображена ER- диаграмма экземпляров объектов «книга»-(Кн1, Кн2, Кн3, Кн4), «читатель»- (Ч1, Ч2, Ч3, Ч4), связанных связью 1:1, а на рис.4 – связью 1:n.

  • Степень связи и класс принадлежности. Для того чтобы определить эти характерности необходимо рассмотреть диаграммы, которые называются ER-экземпляры.

Рассмотрим на примере: рассмотрим связь 1:1. Книга и читатель. Изобразим ER- диаграмму.





Рассмотрим диаграмму, когда все читатели читают книгу




Рассмотрим связь 1: n и соответствующую этому диаграмму ER – экземпляров объектов:




Сделаем то же самое для связи n:m.




Правила построения отношений БД по ER – диаграмме инфологической модели.

  1. Если степень бинарной связи 1:1 и класс принадлежностей обоих объектов является обязательным, то требуется только одно отношение. Ключевым атрибутом этого отношения может быть ключ любого из объектов.
  2. Если степень бинарной связи 1:1 и класс принадлежностей одного из объектов необязателен, а другого обязателен, то необходимо построение двух отношений. Под каждый объект необходимо выделить одно отношение, при этом ключ объекта, класс которого является необязательным, добавляется в качестве атрибута в отношение объекта, класс которого является обязательным.
  3. Если степень бинарной связи 1:1 и класс принадлежностей ни одного объекта не является обязательным, то необходимо построить 3 отношения или перейти к трем объектам от двух. Среди атрибутов третьего объекта связи должны находиться по одному ключу от связываемых объектов.
  4. Если степень бинарной связи n:1 или 1: n и класс принадлежностей n связного объекта является обязательным, то достаточно двух отношений, по одному для каждого объекта. Ключевой атрибут 1- связного объекта добавляется к атрибуту n-связного объекта.
  5. Если степень бинарной связи n:1 или 1: n и класс принадлежностей n-связной сущности является не обязательным, то необходимо формировать 3 отношения, по одному для каждого объекта, и одно для связи. При этом отношение связи должно содержать ключи обоих объектов.
  6. Если степень бинарной связи n: m, то требуется 3 отношения, по одному для каждого объекта и одно для связи. Отношение связи должно содержать ключи обоих объектов.


Эта технология решает задачу определения базовых отношений и необходимых для них атрибутов.

При логическом проектировании реляционной БД необходимо стремиться исключить дублирование информации. Одним из основных инструментов проектирования логической структуры неизбыточной БД является нормализация базовых отношений, которая основывается на концепции нормальных форм и функциональной зависимости между атрибутами отношения. Отношение находится в некоторой нормальной форме, если удовлетворяет заданному набору условий. Цель нормализации заключается в постепенном приведении отношений к пятой нормальной форме (5НФ). Переход к нормальным формам отношений осуществляется с помощью полной декомпозиции БД.

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

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

п1.Полная декомпозиция.

Рассмотрим БД(звери). Рассмотрим 2 проекции

PROJ1 зоопарк, животные ( БД звери )

PROJ2 животные, зона обитания( БД2 )

PROJ

Эйтун

Кенгуру

Эйтун

Верблюд

Битон

Эму

Битон

Верблюд

PROJ2

Животное

Зона

Кенгуру

Австралия

Эму

Австралия

Верблюд

Аравийский п-ов

Если PROJ1 join FULL PROJ2 то получится исходная БД ( звери ).

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

Достоинством процесса декомпозиции является возможность избежать дублирования информации, что приводит к экономии памяти и времени. Однако возможна ситуация, когда замена БД ее полной декомпозицией не дает эффекта. В [ ] доказано , что дублирование неизбежно, если проекции, порождающие полную декомпозицию содержат общее поле, и это общее поле является ключевым.

Рассмотрим 5-ю нормальную форму.

Отношение находится в 5-й нормальной форме тогда и только тогда, если в каждой ее полной декомпозиции все проекции содержат общее ключевое поле. В 5-й нормальной форме также находится БД, которая не имеет ни одной полной декомпозиции, т.е. это конечная форма, к которой мы будем стремиться. Таким образом, если отношение находится в 5НФ, то его замена полной декомпозицией не даст никаких преимуществ. С другой стороны, если отношение не в 5НФ, то в процессе нормализации имеется возможность избежать дублирования и потери данных, постепенно переходя к нормальным формам более высокого порядка .

Отношение находится в 1-й нормальной форме, если все домены содержат только скалярные значения.

Отношение находится во 2-й нормальной форме тогда и только тогда, если оно находится в 1НФ ,и для каждого кортежа все значения атрибутов, не входящие в первичный ключ, связаны со значениями первичного ключа полной функциональной зависимостью.

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

Если не удается перейти к 5НФ, можно ограничиться получением 3НФ. Если отношение находится в 3НФ и первичный ключ является простым, то это отношение находится и 5НФ.

Отношение находится в нормальной форме Бойса-Кодда (НФБК) тогда и только тогда, если любая функциональная зависимость между его атрибутами сводится к полной функциональной зависимости от первичного ключа.

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

Отношение не имеющее 2НФ, 3НФ, НФБК, 4НФ не имеют и 5НФ, т.е. не могут быть нормализованы.


ПРИМЕР для ранее рассмотренной инфолог. модели ВУЗа.

Выделим для примера предметную область следующего отношения:

Преподаватель

(ТАБН ККАФ ФИО СТ ЗВ


Предмет

(КП НП ЧАСЫ ЛЕН ПР ЧС)

Изучение

(НГ КП ТАБН ВИДЭ ЧАСЫ)

Экзамен

(НГ НС КП ТАБН ВИДЭ ОЦЕНКА)

Кафедра

(ККАФ НКАФ ТЕЛ ЗАВ)

Группа

(НТ КОЛ ПБАЛ)

Студент

(НГ НС ФИО ГОДР АДРЕС ПРОХ БАЛЛ)









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

Ключ связи, подчиненный таблице, называется внешним ключом.

Технология загрузки данных в таблицу.

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


Пример : технологии.



Таблицы

1) предмет

2) группа

студент

3) кафедра

преподаватель

4) изучение

5) экзамен



2.2.3. Язык SQL - структурированный язык запросов.

Первый SQL -86

Второй - 92.

SQL (Structured Query Language) был разработан с целью создания унифицированного средства извлечения информации из БД и организации связи между различными СУБД (Рис. 5.).





Рис. 5. Схема организации запроса.


Перечислим основные возможности современного SQL:

1). Организация данных ( определение структуры и связей ).

2). Чтение или извлечение данных.

3). Модификация данных.

4). Управление доступом данных.

5). Совместное использование данных.

6). Обеспечение целостности данных.

7). Может использоваться как средство разработки приложений.

8). SQL может быть встроен в систему программирования и СУБД.


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



1.Операторы описания данных .

CREATE SCHEMA создание схемы,

CREATE TABLE создание таблицы,

CREATE VIEW создание формы

CREATE DOMAIN создание столбца

2.Операторы манипулирование данными.

SELECT выбор данных

INSERT вставка

UPDATE обновление

DELETE удаление


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

Оператор SELECT может содержать 6 основных подразделов различающихся ключевыми словами


SELECT (выбрать)

ALL ( все столбцы) или

* ( все столбцы) или

< имя одного или нескольких столбцов >

DISTINCT (обозначает удаление повторяющихся строк)

FROM < из каких таблиц >

WHERE <условие поиска>

GROUP BY < имя одного или нескольких столбцов > ( Используется для вывода данных, сгруппированных по определенному признаку)

HAVING < условие> ( Условие позволяет отбирать группы)

ORDER BY < столбец> ( Отсортировать данные по указанному столбцу )


Рассмотрим некоторые примеры SQL запросов.


Выбор таких данных из BD1, BD2, в которых совпадают значения в столбцах RER OFFICE ,OFFICE:


SELECT NAME, CITY

FROM BD1, BD2

WHERE BD1.RER OFFICE = BD2.OFFICE


Выбор наименьшего значения в столбце COST из BD1:


SELECT MIN ( COST )

FROM BD1


Определение количества значений в столбце NAME в BD1:


SELECT count ( NAME )

FROM BD1


Сортировка выбранных записей NAME, CITY из BD1 по полю NAME:


SELECT NAME, CITY

FROM BD1

ORDER BY NAME


Группировка выбранных записей. Город выбирается, если его

население > 2400 :


SELECT CITY, count ( NAME )

FROM BD1

GROUP BY CITY

HAVING count ( NAME ) > 2400


БД содержит следующие атрибуты : Имя продавца, сумма продаж, дата продажи . ORDER( SNUM, AMOUNT , ODATA). Определить общую SUM ( AMOUNT ) и среднюю сумму AVG (AMOUNT ) продаж для каждого продавца за каждый день периода с 10.01.1992 по 10.01.1994, исключая дни, когда сумма продаж была больше 100$:


SELECT SNUM, SUM ( AMOUNT ),

AVG (AMOUNT ), ODATA

FROM ORDER

WHERE ODATA BETWEEN ‘10-01-1992’ AND ‘10-01-1994

GROUP BY SNUM, ODATA

HAVING SUM ( AMOUNT ) > 100.0

ORDER BY SNUM


Сортировка данных по имени продавца.


Программирование в системе Turbo Prolog.

Создан в 70-е годы. Своими корнями уходит в математическую логику. Prolog - язык исчисления предметов: язык целевого программирования. Что надо сделать? А способ программирования в самом языке в виде механизма логического вывода. Prolog используется в задачах икуственного интеллекта, при построении экспертных систем и систем распознавания.

Необходимо выделить объекты и отношения между ними.

Базовая структура в Prolog’е - это отношениу-предикат, с помощью которого выражаются исходные, промежуточные и результирующие данные.

Чтобы выполнить программу, нужно сформулировать целевой предикат. Результатом этого целевого предиката будут два значения либо “ответ найден”, либо “ответ не найден”.


Основные понятия.

Программирование на языке Prolog содержит набор фактов об объектах и множество отношений между ними. Кроме этого в программу включён набор правил, которые позволяют описывать взаимосвязи между отношениями и объектами. С помощью этих правил можно выводить новые утверждения на основе старых. Совокупность фактов и правил образует БД в Prolog’е.


Разделы программы.


DOMAINS (может отсутствовать)

Предназначен для описания ипользуемых объектов. Определяет типы этих объектов.


PREDICATES (обязателен)

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

Например : rod ( integer, integer ).

имя предиката


CLAUSES (обязателен)