- •1. Концепция баз данных
- •1.1. Обоснование концепции баз данных. История вопроса
- •Количество абитуриентов по областям
- •1.2. Архитектура представления информации в концепции бд
- •Внешние представления
- •Файл 1
- •Общие сведения о студенте
- •Сведения об учебе
- •Сведения о неуспевающих студентах (количество)
- •1.3. Понятия схемы и подсхемы и их использование в субд
- •2. Информационная система сферы управления - основная область использования бд
- •3. Модели данных
- •3.1. Понятия модели и структуры данных
- •3.2. Линейная модель данных
- •3.3. Иерархическая структура (модель) данных
- •Студент
- •Семестр
- •3.4. Сетевая структура (модель) данных
- •Итоговая аттестация
- •Семестр
- •Студент
- •Студент1
- •Студент2
- •3.5. Реляционная модель данных
- •3.5.1. История применения реляционной модели данных
- •3.5.2. Основные понятия реляционной модели данных
- •3.5.3. Ключ отношения
- •3.5.4. Нормализация отношений
- •Студент
- •Студент
- •Студент
- •Общежите
- •3.5.5. Операции реляционной алгебры
- •Студент
- •Студенто
- •Нестудент
- •Встречи
- •Делитель
- •Студент
- •Студент
- •Студент
- •Семестр
- •3.5.6. Языки обработки реляционных бд
- •Студент
- •Аудитория
- •Делитель
- •Преподаватель
- •Студент
- •Студент
- •Итоговая аттестация
- •4. Процесс проектирования бд
- •4.1. Построение концептуальной информационной модели ПрО
- •4.1.1. Основные подходы для концептуального моделирования
- •4.1.1.1. Декомпозиционный подход
- •4.1.1.2. Интеграционный подход
- •1.1. Идентификация информационных потребностей пользователей предполагает:
- •1.2. Представление выявленных форм отображения информационных потребностей пользователей в виде исходных отношений предусматривает выполнение следующих действий:
- •1.2.1. Рекомендации по выявлению атрибутов
- •1.2.2. Определение вторичных атрибутов
- •2. Уточнение множества исходных отношений состоит из:
- •3. Связывание отношений и простых структур в кимпо
- •4.1.2. Модели, используемые в концептуальном проектировании
- •4.2. Выбор субд
- •4.3. Проектирование физической структуры бд
- •4.4. Case-средства, используемые при проектировании бд
- •4.5. Пример проектирования бд
номер
ФИО
дата
пол
номер
дата
за
тип
фи
прожива
зачет
рож
груп
числе
нанси
ние
в об
ки
дения
пы
ния
рования
щежитии
1Студент
Итоговая аттестация
номер зачетки |
дисциплина |
средняя оценка |
|
||
1 АТТЕСТАЦИЯ ПО СЕМЕСТРАМ |
|
|
|||
номер зачетки |
дисциплина |
семестр |
оценка |
||
Рис. 3.46. Отношения для создания таблиц БД
Запрос на создание такой структуры таблиц выглядит следующим образом:
CREATE TABLE СТУДЕНТ (
номерзачетки VARCHAR2(10) NOT NULL PRIMARY
KEY,
ФИО VARCHAR2( 100) NOT NULL,
дата_рождения DATE NOT NULL,
пол NUMBER(l) NOT NULL REFERENCES
пол (ид),
номер_группы NUMBER(4) NOT NULL REFERENCES
группа (ид),
датазачисления DATE NOT NULL CHECK (да-
та_зачисления>ТО_ОАТЕ('01.01.1950','DD .MM.YYYY')),
типфинансирования NUMBER(l) NOT NULL REFERENCES
типфинансирования (ид), проживание в общежитии NUMBER(l) NOT NULL CHECK (прожи-
вание в общежитии IN (0,1)), CHECK (дата_зачисления>(дата_рождения+14*365)));
CREATE TABLE ИТОТОВАЯАТТЕСТАЦИЯ (
номер_зачетки VARCHAR2(10) NOT NULL REFERENCES сту
дент (номер_зачетки), дисциплина NUMBER(4) NOT NULL REFERENCES дисцип
лина (ид), средняяоценка NUMBER( 1),
PRIMARY KEY (номер зачетки, дисциплина));
CREATE TABLE АТТЕСТАЦИЯ ПО СЕМЕСТРАМ ( номер зачетки VARCHAR2( 10) NOT NULL,
дисциплина NUMBER(4) NOT NULL,
семестр NUMBER(2) NOT NULL CHECK (семестр <13),
оценка NUMBER(l) NOT NULL CHECK (оценка
BETWEEN 2 AND 5), PRIMARY KEY (номер_зачетки, дисциплина, семестр), FOREIGN KEY (номер_зачетки, дисциплина)
REFERENCES итоговая_аттестация (номер_зачетки, дисциплина));
Для того чтобы задать условие для столбцов нескольких таблиц, необходимо это условие прописывать в отдельной процедуре, которая будет находиться за пределами формирования описанной выше структуры этих таблиц и вызываться при обработке данных таблиц. Для приведенного выше примера такое условие в процедуре обработки будет следующим в зависимости:
—1 если средняяоценка по дисциплине проставляется вручную, условие будет:
средняя_оценка > М11\1(аттестация_по_семестрам.оценка) AND < МАХ(аттестация_по_семестрам.оценка));
—1 если средняя_оценка по дисциплине автоматически вычисляется
как среднее арифметическое, условие будет: средняяоценка = К01МО(АУО(аттестация_по_семестрам.оценка)),1);
