- •1. Основные положения
- •1.1. Организация базы данных
- •1.2. Просмотр записей базы данных
- •Задание
- •2.1. Домашняя подготовка
- •2.2. Порядок выполнения задания в лаборатории
- •3. Требования к отчету
- •4. Контрольные вопросы
- •Вопросы для защиты
- •Лабораторная работа 2
- •1. Основные положения
- •1.1. Файлы субд
- •Основные операции над файлами
- •Сортировка и индексирование записей таблиц
- •2. Задание
- •2.1. Домашняя подготовка
- •2.2. Порядок выполнения задания в лаборатории
- •3. Требования к отчету
- •4. Контрольные вопросы
- •4.1. Вопросы для коллоквиума
- •4.2. Вопросы для защиты
- •Лабораторная работа 3 язык запросов sql субд Visual FoxPro
- •1. Основные положения
- •Запросы
- •Задание
- •2.1. Домашняя подготовка.
- •2.2. Порядок выполнения задания в лаборатории.
- •3. Требования к отчету.
- •4. Контрольные вопросы
- •Вопросы для защиты
- •Проектирование баз данных в среде Erwin
- •Основные положения
- •Процесс моделирования
- •Физическая и логическая модель данных
- •Уровни отображения модели
- •Обратное проектирование
- •Целевые платформы
- •Интерфейс eRwin. Уровни отображения модели
- •Подмножества модели и сохраняемые отображения
- •Создание логической модели данных. Уровни логической модели
- •Сущности и атрибуты
- •Создание физической модели данных
- •Выбор сервера
- •Задание
- •Домашняя подготовка
- •Порядок выполнения в лаборатории
- •Требования к отчету
- •Контрольные вопросы Вопросы для коллоквиума
- •Вопросы для защиты
Задание
Необходимо разработать информационную модель БД. Данная структура должна быть представлена на логическом и физическом уровнях. Выполнить процесс прямого проектирования, выбрав конкретную целевую СУБД.
Решить обратную задачу. В качестве исходных данных использовать SQL-скрипт.
Домашняя подготовка
Ознакомиться с описанием ERwin.
Согласно выбранному варианту задания для каждой из таблиц определить поля и типы данных.
Определить связи (тип связи, мощность связи) и выбрать ключи для таблиц.
Порядок выполнения в лаборатории
Показать преподавателю данные по домашней подготовке
В среде ERwin постройте логическую модель:
на уровне отображения сущностей задайте сущности и в редакторе «Entity Definition» её подробное описание. Это описание будет отображено в отчётах и может быть отображено на диаграмме
Укажите связи между сущностями.
Задайте список атрибутов для каждой сущности. Задайте имена ключевых и неключевых атрибутов.
Проверьте правила ссылочной целостности устанавливаемые по умолчанию ERwin.
Свяжите каждый атрибут с конкретным доменом. Существует 4 стандартных, но можно добавить и свои.
Правильно задайте параметры для ключей (могут быть пустыми или нет).
Переключитесь на уровень физической модели.
Задайте соответствующие имена таблиц для всех сущностей, атрибуты (только если логическая модель была представлена на русском языке), переименуйте связи, если необходимо .
Выберете целевую СУБД и при необходимости можно модифицировать физическую модель согласно требования целевой СУБД.
Сгенерируйте отчёт. Результат покажите преподавателю.
Решить обратную задачу. При решении обратной задачи имеется SQL-скрипт требуется получить логическую модель.
Требования к отчету
Отчет должен включать
Исходные данные в соответствии с заданием к работе.
Результаты работы в лаборатории по решению прямой и обратной задач.
Контрольные вопросы Вопросы для коллоквиума
Что такое CASE-средства, каковы их основные задачи?
Для каких целей можно использовать систему ERwin при построении информационных моделей предметных областей в системах обработки данных?
Приведите примеры сущностей и их атрибутов из окружающего мира. Выделите ключевые наборы атрибутов?
В каких отношениях могут находиться сущности? Дайте определение понятия связи между сущностями.
Правила ссылочной целостности в ERwin?
Отличие физической модели от логической. Выделите основные составные части обоих моделей.
Вопросы для защиты
Какие существуют способы для создания физической БД из модели ERwin?
Что такое домен в ERwin. Перечислите преимущества и недостатки использования доменов в модели?
Какие типы выходных документов, описывающих информационную модель, можно сгенерировать в системе ERwin?
Какие типы синхронизации модели и БД поддерживает ERwin?
Как обозначаются первичные, альтернативные, внешние и инверсионнные ключи на ER-диаграмме в системе ERwin?
По полученным данным проанализируйте SQL-скрипт. Синтаксис для хранимой процедуры.
В каких случаях информационная (логическая модель), полученная путём reverse engineering, будет нести не всю информацию, которая закладывалась разработчиками исходной БД?
Поясните полученные результаты в работе.
Литература
Кренке Д. Теория и практика построения баз данных. – СПб.: Питер, 2003. – 800 с.
Каратыгин С.А. и др. Visual FoxPro 6 К вершинам мастерства. - :Бином, 2002
Базиян М. И др. Использование Visual FoxPro 6. К.;М.; СПб.:Издательский дом «Вильямс” 1999 –928 с.
Дейт К. Введение в системы баз данных . К.;М.; СПб.:Издательский дом «Вильямс” 1999 –848 с.
5. Вендров А.М. CASE-технологии. Современные методы и средства проектирования информационных систем.-М.: Финансы и статистика,1998. - 76 с.
6. Маклаков С. В. BPwin и ERwin. Case-средства разработки информационных систем. – М.: Диалог-МИФИ, 1999. – 300 с.
Приложение. Синтаксис некоторых команд, операторов и функций.
LIST , DISPLAY
[FIELDS FieldList]
[Scope] [FOR lExpression1] [WHILE lExpression2]
[OFF]
[NOOPTIMIZE]
[TO PRINTER] | TO FILE FileName]
LIST STRUCTURE
[IN nWorkArea | cTableAlias]
[TO PRINTER] | TO FILE FileName]
? | Expression1
SKIP
[nRecords]
[IN nWorkArea | cTableAlias]
GO [RECORD] nRecordNumber [IN nWorkArea | IN cTableAlias]
GO TOP | BOTTOM [IN nWorkArea | IN cTableAlias]
GOTO [RECORD] nRecordNumber [IN nWorkArea | IN cTableAlias]
GOTO TOP | BOTTOM [IN nWorkArea | IN cTableAlias]
LOCATE FOR lExpression1
[Scope]
[WHILE ]
[NOOPTIMIZE]
cSearchFor $ cSearchIn
UPPER(cExpression)
LOWER(cExpression)
EDIT, CHANGE
[FIELDS FieldList]
[Scope] [FOR lExpression1] [WHILE lExpression2]
[NOAPPEND]
[NOCLEAR]
[NODELETE]
[NOEDIT | NOMODIFY]
[NOOPTIMIZE]
BROWSE
[FIELDS FieldList]
[NOAPPEND]
[NOCLEAR]
[NODELETE]
[NOEDIT | NOMODIFY]
[NOOPTIMIZE]
[TITLE cTitleText]
[VALID [:F] lExpression2 [ERROR cMessageText]]
[WHEN lExpression3]
[WIDTH nFieldWidth]
APPEND [BLANK]
[IN nWorkArea | cTableAlias]
INSERT [BEFORE] [BLANK]
DELETE
[Scope] [FOR lExpression1] [WHILE lExpression2]
[IN nWorkArea | cTableAlias]
[NOOPTIMIZE]
DELETE FILE [FileName | ?]
RECALL
[Scope] [FOR lExpression1] [WHILE lExpression2]
[NOOPTIMIZE]
COPY FILE FileName1 TO FileName2
COPY TO FileName
[FIELDS FieldList]
[Scope] [FOR lExpression1] [WHILE lExpression2]
[[WITH] CDX] | [[WITH] PRODUCTION]
[NOOPTIMIZE]
[[TYPE] [FOXPLUS | FOX2X | DIF | MOD
| SDF | SYLK | WK1 | WKS | WR1 | WRK | XLS | XL5
| DELIMITED [WITH Delimiter | WITH BLANK | WITH TAB]]]
COPY STRUCTURE TO FileName
[FIELDS FieldList]
DELETE FILE [FileName | ?]
ERASE FileName | ?
RENAME FileName1 TO FileName2
SORT TO TableName ON FieldName1 [/A | /D] [/C]
[, FieldName2 [/A | /D] [/C] ...]
[ASCENDING | DESCENDING]
[Scope] [FOR lExpression1] [WHILE lExpression2]
[FIELDS FieldNameList
| FIELDS LIKE Skeleton
| FIELDS EXCEPT Skeleton]
[NOOPTIMIZE]
STR(nExpression [, nLength [, nDecimalPlaces]])
CTOD(cExpression)
DTOC(dExpression | tExpression [, 1])
YEAR(dExpression | tExpression)
VAL(cExpression)
INDEX ON eExpression TO IDXFileName | TAG TagName [OF CDXFileName]
[FOR lExpression]
[COMPACT]
[ASCENDING | DESCENDING]
[UNIQUE | CANDIDATE]
[ADDITIVE]
SET INDEX TO [IndexFileList | ? ]
[ORDER nIndexNumber | IDXIndexFileName
| [TAG] TagName [OF CDXFileName] [ASCENDING | DESCENDING]]
[ADDITIVE]
SET ORDER TO
[nIndexNumber | IDXIndexFileName | [TAG] TagName [OF CDXFileName]
[IN nWorkArea | cTableAlias]
[ASCENDING | DESCENDING]]
FIND cExpression
SEEK eExpression
[ORDER nIndexNumber | IDXIndexFileName
| [TAG] TagName [OF CDXFileName]
[ASCENDING | DESCENDING]]
[IN nWorkArea | cTableAlias]
USE [TableName | SQLViewName | ?]
[IN nWorkArea | cTableAlias]
[INDEX IndexFileList | ?
[ORDER [nIndexNumber | IDXFileName
| [TAG] TagName [OF CDXFileName]
[ASCENDING | DESCENDING]]]]
[ALIAS cTableAlias]
]