Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы ГОС ПрИЭ / Т3. BD_otvety.docx
Скачиваний:
27
Добавлен:
13.05.2015
Размер:
127.38 Кб
Скачать

Основные термины, понятия и определения

База данных (БД) ‑ совокупность взаимосвязанных данных.

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

По возможностям выделяют две группы СУБД:

1.      Полнофункциональные СУБД ‑ наиболее мощные, многопользо­ва­тель­ские, с сис­те­ма­ми защиты, копирования и восстановления данных (Oracle, Microsoft SQL Server, Informix, DB/2), но более сложные СУБД.

2.      Персональные СУБД ‑ с ограниченными возможностями, но более прос­тые в использовании (Access, Visual FoxPro, Paradox, Clipper, dBase, Clarion, DataEase, DataFlex, R: BASE).

Это деление довольно условно, так как персональные СУБД пос­то­ян­но совершенствуются, догоняя полнофункциональные СУБД.

Банк данных (БнД) ‑ совокупность БД, СУБД и комплекса техни­чес­ких средств (компьютеры, внешние устройства, устройства связи и др.).

Хранилище (склад) данных (ХД) ‑ извлеченные данные из оперативных и архив­ных БД, преобразованные в формат, приемлемый для сложных нерег­ла­мен­ти­рованных запросов и многомерного анализа.

Предметная область базы данных (ПО) ‑ организация, подразде­лен­ие, для которого создается БД.

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

Объект (сущность ) - предмет, человек или событие, о ко­то­ром соби­рает­ся и хранится информация.

Экземпляр объекта (кортеж, запись) - единичное значение объекта.

Пример. Объект “СОТРУДНИК”, экземпляр ‑ данные об Иванове И.

Атрибут ‑ отдельная характеристика (свойство) объекта.

Домен ‑ область значений одного или нескольких атрибутов.

Порядок (степень)/Мощность отношения (кардинальное число) отно­ше­ния ‑ число атрибутов/кортежей в отношении.

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

Реко­мен­ду­ет­ся назы­вать атри­бут и сущность существительными в единственном числе, а таблицу ‑ именем объекта во мно­­жест­вен­­ном числе (например, объекту “СОТ­РУД­НИК” со­от­вет­­ствует таб­­лица “СОТРУД­НИ­КИ”).

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

Пример. Атрибуты “Код завода”, “Код изделия”, “Да­та выпуска из­делия” образуют составной ключ объекта “ВЫПУСК ИЗДЕЛИЯ”.

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

Встроенный словарь явля­ется частью самой СУБД. Достоинства: высокая степень защиты и контроля данных. Недостаток: ориентация на конкретную СУБД.

Автономный словарь создается отдельно от СУБД специаль­ными па­ке­тами. Достоинства: переносимость в другие СУБД. Недостаток: сла­бый контроль.

Администрация базы данных (АБД) ‑ лицо или группа лиц, от­вет­ствен­ная за проектирование и эф­фективное использование БД.

Основные функции АБД:

1.      Участие в разработке проекта по созданию БД.

2.      Обеспечение целостности БД (копирование, восстановление).

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

4.      Отслеживание трафика загрузки БД, сбоев, характеристик (время доступа, общее время обработки запросов и т.д.).

5.      Реорганизация БД с целью улучшения характеристик базы.

6.      Реализация многопользовательского режима работы с БД (пароль­ная защита от несанкционированного доступа, шифрование данных, разде­ле­ние доступа и др.).

  1. Основные команды языка запросов SQL. Типы запросов (команды Select) с примерами.

Запрос представляет собой требование, определяющее выборку нуж­ных данных из одной или нескольких таблиц базы, удаление или из­ме­нение данных, создание новых таблиц. Существуют два типа языков опи­сания запросов: язык запросов по образцу QBE (Query By Example) и структурированный язык запросов SQL (Structured Query Language).

Язык QBE предполагает использование визуальных средств пост­рое­ния результирующей таблицы из первоначально пустой таблицы путем вы­­борки и связывания нужных исходных таблиц и запросов, пе­ре­тас­кива­ния мышкой нужных колонок, формирования мастерами расчетных коло­нок и условий отбора записей, сортировки, группировки и аг­ре­ги­ро­ва­ния данных. Примером использования QBE является запросная форма СУБД Access.

Язык SQL (стандарт SQL‑92) предполагает использование коман­д­ных средств. Хотя синтаксис команд языка SQL и достаточно унифици­ро­ван для различных СУБД, но есть некоторые отличия в деталях. Суще­ствуют статический SQL (команды SQL включаются в выполняемый модуль после компиляции) и динамический SQL (команды SQL форми­руют­ся в процессе выполнения программы и выпол­няют­ся в интер­пре­ти­рую­щем режиме). В результате выполнения запро­са на выборку фор­ми­рует­ся но­вая таблица, называемая представлением (View), к которой уста­нав­­ли­вает­ся со­ответствующий указатель, называемый курсо­ром (Cursor). Курсор слу­жит для ссылки на нужное представление в командах открытия, пере­ме­щения по записями и закрытия нужного представления (п. 4.3.6).

Основные команды SQL

Select является мощным средством создания запросов на выборку инфор­мации. Приведем ее предварительный синтаксис:

Select <поля, выражения или *> From <исходные таблицы>

Where <условие отбора записей> Group By <поля для группировки>

Having <условие отбора группы> Order By <поля для сортировки>

Рассмотрим фразы команды (не все фразы обязательны).

Select [Distinct] <выражение> [[As] <псевдоним>] [, ...]

From <таблица> [<тип связи> Join <таблица> On <условие связи>]...

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

Псевдонимзадает наименование колонки (пробелы запрещены).

Для связывания таблиц используется фраза Join. Тип связи задается сло­вами:Left/Right (в запрос входят все записи из таблицы, стоящей в зап­ро­се слева/справа),Inner(входят только записи с совпадающими ключами связи).

Пример задания базового запроса по базе строек.

Select Stroiki.Ns, Stroiki.Ds, Stroiki.Ss, Stroiki.Fs, Stroiki.M, Stroiki.Em, Podrjdhiki.Np, Zakazhiki.Nz FROM “stroiki.DB“ Stroiki

Inner Join “zakazhiki.db“ Zakazhiki ON (Stroiki.Kz = Zakazhiki.Kz)

Inner Join “podrjdhiki.DB“ Podrjdhiki ON (Stroiki.Kp = Podrjdhiki.Kp)

В результате выполнения запроса получается совокупность колонок, в за­головках которых могут находиться имена полей. Если нас не устраивают имена, формируемые по умолчанию, то можно назначить свои (псевдо­нимы), указав их после слова As. В выражении могут исполь­зо­вать­ся соб­ственные специальные арифметические функции, действующие “по верти­кали”: среднее значение в группе (Avg), минимальное (Min), максимальное (Max), сумма (Sum), число записей в группе (Count). Функция может иметь в качестве аргумента звездочку (Count (*)), что означает подсчет всех записей, попавших в выборку.

Where <условие отбора>- условие отбора записей в запрос. В условиях допускается использование логических операторов And, Or, Not и круглых скобок. В условиях, кроме любых функций Pascal, могут содержаться сле­дующие операторы SQL:

<выражение> Like<шаблон> позволяет построить условие сравне­ния по шаблону, набор символов: “_” (неопределенный символ), “%” (лю­бые символы, например: Where Ns Like ‘Школа%’), [n‑k]% (любые сим­волы из интервала от n до k, например: Like ‘[A‑D]%’);

<выражение> Between<нижнее значение> And <верхнее значение> проверяет, находится ли выражение в указанном диапазоне (Where [Ss] Between 0 And 1000000);

<выражение> In(<выражение>,<выражение>,...) проверяет, нахо­дит­ся ли выражение, стоящее слева от слова IN, среди перечисленных справа от него (Where Kz In (1,2,6)).

Group By <колонка>[,<колонка>...]‑ задаются колонки, по которым про­изводится группирование выходных данных. Все записи таблицы, для ко­торых значения колонок совпадают, отображаются в выборке единствен­ной строкой. Группирование удобно для получения некоторых сводных характеристик (суммы, число записей, среднее) группы.

Пример. Вывести число сотрудников, максимальную, среднюю, ми­ни­маль­ную и итого­вую зарплату по подразделениям (поле Podr) по таб­лице SOTRUDNIKI.

Select podr, Count(*),Min (zarpl), Avg (zarpl), Max(zarpl), Sum (zarpl)

From Sotrudniki Group By podr Order By podr

Having <условие отбора группы>задает критерий отбора сфор­ми­ро­ван­ных в процессе выборки групп.

Order By <колонка> [Asc/Desc] [,<колонка> [Asc/Desc]...]– опция, которая за­дает упорядочение по колонкам по возрастанию (Asc) или убыванию (Desc). Колонка задается номером или именем поля (Order By Kp, Kz).

Рассмотрим другие команды SQL.

Create Table <имя таблицы> (<поле> <тип поля> [Not Null], ...) соз­да­ние таблицы (Create Table Kadr (Tab Integer, Fam Char (30) Not Null Primary Key (Tab))). Обязательное присутствие значения в поле задается пара­мет­ром Not Null. Основные типы полей в SQL в Delphi: SmallInt (Short), Integer (Long Integer), Numeric(x,y), Float (x,y), Char (n), Data, Boolean, Time, Money, Autoinc. Для других СУБД типы полей могут быть другими.

Create View <имя представления> [(<имя столбца>,...)] As <оператор Select> ‑ соз­да­ние представления с новыми именами столбцов (Create View NameStroek As Select Stroiki.Ns FROM Stroiki).

Alter Table <имя таблицы> {Add | Modify | Drop} <поле> [<тип поля>] [Not Null, ... ‑ из­ме­не­ние структуры таблицы: включение (Add), изменение (Modify) и удаление (Drop, тип поля не указывается) полей таблицы (Alter Table Stroiki Add Gorod Integer Drop Kp).

Update <таблица> Set <имя поля>={<новое значение>|Null}, ...

[Where <условие>] ‑ изменение значений полей (Update Kadr Set Oklad=1.5*Oklad Where Cex=”Цех N2”).

Insert Into<имя таблицы>(<список полей>) {Values (<список значе­ний>)| Select...} ‑ включение новой записи или группы записей из другой таблицы.

Примеры

Insert Into Zakazhiki (Kz,Nz) Values (3,’ЗИЛ’); // включение одной записи

Insert Into Podrjdhiki (Kp,Np) Select KPodr, NPodr From SpravPodr

Where DSozd >01.01.80; //включение группы записей из таблицы SpravPodr

Create [Unique] Index <имя индекса> On <таблица> (<поле> [{Asc|esc}],...) ‑ создание индекса (Create index indproba on stroiki (kz, kp)).

Drop Table/View <имя> ‑ удаление таблицы/представления (Drop Table Stroiki).

Drop Index [“<имя таблицы>”.]<имя индекса> ‑ удаление индекса.

Drop Index [“<имя таблицы>”.]Primary ‑ удаление главного индекса.

Delete From <имя таблицы> [Where<условие>] ‑ удаление записей.

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

Пример. Вывести крупные стройки со сметой выше средней по стройкам: Select * From Stroiki Where Ss > (Select Avg(Ss) From Stroiki).

  1. Принципы и этапы проектирования БД.

Основные принципы проектирования баз данных.

1.      Удовлетворение информационных потребностей различных поль­зо­вателей за приемлемое время и в удобной форме.

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

3.      Достоверность данных, исключение дублирования.

4.      Защита от несанкционированного доступа.

5.      Восстановление данных и надежность функционирования.

 

Этапы и шаги проектирования и создания баз данных

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

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

1.2. Определение типов связей. Определение типов связей между сущ­ностями; документирование и составление ER‑диаграмм.

1.3. Определение атрибутов и их связей. Связывание атрибутов с сущностями; выявление простых, составных, множественных, производ­ных атрибутов и их документирование.

Соседние файлы в папке Ответы ГОС ПрИЭ