Файл: Практикума по дисциплине базы данных.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 11.01.2024

Просмотров: 70

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


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

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

- номер группы;

- специальность;

- факультет;

- ФИО старосты.

В общем виде в инфологической модели (рис.1.2) сущность группа будет атрибутом сущности студент.

На рис.1.3. представлена полученная инфологическая модель



Р ис. 1.3. Инфологическая модель.

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


Таблица 1.2.

Схема данных для хранения информации о студентах ВУЗа



Наименование

Назначение

Тип

Размерность

1

N_Zac

Номер зачетной книжки

Символьный

6

2

Fam

Фамилия

Символьный

25

3

Im

Имя

Символьный

25

4

Otc

Отчество

Символьный

25

5

D_R

Дата рождения

Дата

8

6

Pol

Пол

Логический

1

7

Year_P

Год поступления

Числовой




8

In_s

Иностранные языки

Символьный

25

9

N_Gr

Номер группы

Символьный

4



Таблица 1.3.

Схема данных для хранения информации об академических группах



Наименование

Назначение

Тип

Размерность

1

N_Gr

Номер группы

Символьный

4

2

Spec

Специальность

Символьный

45

3

F_tet

Факультет

Символьный

8

4

Fam_S

ФИО старосты

Символьный

30



Контрольные вопросы


  1. В чем заключается этап инфологического моделирования?

  2. Какие основные конструктивные элементы используются при проектировании инфологической модели?

  3. Что является идентификатором и ключом?

  4. В чем заключается даталогическое проектирование?

  5. Вследствие каких процессов физическое проектирование баз данных утратило свое значение?



1.3. Задание к лабораторной работе №1


  1. Изучить и выписать основные положения проектирования баз данных.

  2. Проектировать базу данных. Варианты заданий приведены в таблице 1.4.


Таблица 1.4.

Таблица вариантов задания к лабораторной работе №1

№ варианта

Предметная область

Пояснения

1

БД жильцов в доме.




2

БД аудиторий в ДГТУ.




3

БД больных в больнице.




4

БД городских телефонных номеров.




5

БД автотранспортных средств.




6

БД сотрудников ВУЗа.




7

БД налогоплательщиков.




8

БД предприятий г. Махачкала.




9

БД картотека уголовных преступлений.




10

БД лиц, находящихся на учете в МВД.






ЛАБОРАТОРНАЯ РАБОТА № 2

Тема: “Ознакомление с Borland C++ Builder. Инструмент Database Desktop. Создание и заполнение баз данных

2.1 Основные понятия баз данных

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

Каждая строка таблицы соответствует одному из объектов. Она называется записью и содержит значения всех полей, характеризующих данный объект. При построении таблиц баз данных важно обеспечивать непротиворечивость информации. Обычно это делается введением ключевых полей — обеспечивающих уникальность каждой записи. Ключевым может быть одно или несколько полей. При работе с таблицей пользователь или программа как бы скользит курсором по записям. В каж­дый момент времени есть некоторая текущая запись, с которой и ведется работа. Записи в таблице базы данных физически могут располагаться без какого-либо порядка, просто в последовательности их ввода. Но когда данные таблицы предъявляются пользователю, они должны быть упорядочены. Пользователь может хотеть просматривать их в алфавитном порядке, или рассорти­рованными по отделам, или по мере нарастания года рождения и т.п. Для упорядочивания данных испо­льзуется понятие индекса. Индекс показывает, в какой последовательности желательно просматривать таблицу. Курсор ско­льзит по индексу, а индекс указывает на ту или иную запись таблицы. Для пользователя таблица выгля­дит упорядоченной, причем он может сменить индекс и последовательность просматриваемых записей изменится. Но в действительности это не связано с какой-то перестройкой самой таблицы и с физиче­ским перемещением в ней записей. Меняется только индекс, т.е. последовательность ссылок на записи.


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

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

2.2 Типы баз данных

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

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

Рассмотрим коротко следующие четыре модели баз данных:

• Автономные;

• С разделяемыми файлами;

• Клиент/сервер;

• Многоярусные.

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