Автор работы: Пользователь скрыл имя, 07 Января 2012 в 12:36, контрольная работа
В данное время компьютер стал неотъемлемой частью управленческой системы организации. Благодаря стремительному развитию информационных технологий наблюдается расширение области их употребления. Если раньше мало не единственной областью, в которой применялись информационные системы, была автоматизация бухгалтерского учета, то в настоящий момент наблюдается внедрение информационных технологий во множество других областей. Эффективное использование корпоративных информационных систем позволяет делать более точные прогнозы и избегать возможных ошибок в управлении.
3. Разработка информационных таблиц
Таблица ПРЕПОДАВАТЕЛИ
ПОЛЕ | ТИП ДАННЫХ | КЛЮЧ |
ФИО_переподавателя | Текст – VARCHAR(100) | Первичный |
Научная_степень | Текст – CHAR(18) | |
Кол_во_часов | Число – INTEGER | |
Оклад | Число – INTEGER |
Таблица ДИСЦИПЛИНЫ
ПОЛЕ | ТИП ДАННЫХ | КЛЮЧ |
Дисциплина | Текст – VARCHAR(100) | Первичный |
Таблица ПРЕПОДАВАЕМЫЕ_ДИСЦИПЛИНЫ
ПОЛЕ | ТИП ДАННЫХ | КЛЮЧ |
Дисциплина | Текст – VARCHAR(100) | Внешний |
ФИО_переподавателя | Текст – VARCHAR(100) | Внешний |
Таблица ГРУППЫ
ПОЛЕ | ТИП ДАННЫХ | КЛЮЧ |
Группа | Текст – VARCHAR(6) | Первичный |
ФИО_переподавателя | Текст – VARCHAR(100) | Внешний |
Курс | Число – INTEGER |
Таблица СТУДЕНТЫ
ПОЛЕ | ТИП ДАННЫХ | КЛЮЧ |
Номер_Зачетки | Текст – VARCHAR(6) | Первичный |
Группа | Текст – VARCHAR(6) | Внешний |
ФИО | Текст – VARCHAR(100) | |
Форма_обучения | Текст – VARCHAR(8) |
Таблица ПЛАН
ПОЛЕ | ТИП ДАННЫХ | КЛЮЧ |
Номер_контрольной | Текст – VARCHAR(6) | Первичный |
Дисциплина | Текст – VARCHAR(100) | Внешний |
Название_контрольной | Текст – VARCHAR(100) |
Таблица КОНТРОЛЬНЫЕ
ПОЛЕ | ТИП ДАННЫХ | КЛЮЧ |
Номер_Зачетки | Текст – VARCHAR(6) | Внешний |
Номер_контрольной | Текст – VARCHAR(6) | Внешний |
Оценка | Число – INTEGER | |
Дата_проведения | Дата – DATE |
4. Создание средствами SQL базы данных
CREATE TABLE ДИСЦИПЛИНА (
Дисциплина VARCHAR(100) NOT NULL,
CONSTRAINT PrimaryKey
PRIMARY KEY (Дисциплина)
);
CREATE TABLE ПРЕПОДАВАТЕЛИ (
Научная_степень CHAR(18) NULL,
ФИО_преподавателя VARCHAR(100) NOT NULL,
Кол_во_часов INTEGER NULL,
Оклад INTEGER NULL,
CONSTRAINT PrimaryKey
PRIMARY KEY (ФИО_преподавателя)
);
CREATE TABLE ПРЕПОДАВАЕМЫЕ_ДИСЦИПЛИНЫ (
Дисциплина VARCHAR(100) NOT NULL,
ФИО_преподавателя VARCHAR(100) NOT NULL,
CONSTRAINT ПРЕПОДАВАЕМЫЕ_ДИСЦИПЛИНЫ
PRIMARY KEY (Дисциплина, ФИО_преподавателя),
CONSTRAINT
FOREIGN KEY (Дисциплина) REFERENCES ДИСЦИПЛИНА,
CONSTRAINT
FOREIGN KEY (ФИО_переподавателя) REFERENCES ПРЕПОДАВАТЕЛИ
);
CREATE TABLE ГРУППА (
Курс INTEGER NULL,
Группа LONG NOT NULL,
ФИО_преподавателя VARCHAR(100) NOT NULL,
CONSTRAINT PrimaryKey PRIMARY KEY (Группа),
CONSTRAINT СПЕЦИАЛЬНОСТЬГРУППА
FOREIGN KEY (ФИО_преподавателя) REFERENCES ПРЕПОДАВАТЕЛИ
);
CREATE TABLE ПЛАН (
Дисциплина VARCHAR(100) NOT NULL,
Номер_контрольной INTEGER NOT NULL,
Название_контрольной VARCHAR(100) NULL,
CONSTRAINT PrimaryKey PRIMARY KEY (Номер_контрольной),
CONSTRAINT ДИСЦИПЛИНАПЛАН
FOREIGN KEY (Дисциплина) REFERENCES ДИСЦИПЛИНА
);
CREATE TABLE СТУДЕНТ (
Группа LONG NOT NULL,
НомерЗачетки VARCHAR(6) NOT NULL,
ФИО VARCHAR(100) NULL,
Форма_обучения VARCHAR(8) NULL,
CONSTRAINT PrimaryKey PRIMARY KEY (НомерЗачетки),
CONSTRAINT ГРУППАСТУДЕНТ
FOREIGN KEY (Группа) REFERENCES ГРУППА
);
CREATE TABLE КОНТРОЛЬНЫЕ (
НомерЗачетки VARCHAR(6) NOT NULL,
Номер_контрольной INTEGER NOT NULL,
Оценка INTEGER NULL,
Дата_проведения DATE NULL,
CONSTRAINT PrimaryKey PRIMARY KEY (НомерЗачетки, Номер_контрольной),
CONSTRAINT
FOREIGN KEY (Номер_контрольной) REFERENCES ПЛАН,
CONSTRAINT СТУДЕНТЭКЗАМЕН
FOREIGN KEY (НомерЗачетки) REFERENCES СТУДЕНТ
);
5. Примеры
SQL-запросов на вставку и
INSERT INTO СТУДЕНТ (НомерЗачетки, Группа, ФИО, Форма_обучения)
VALUES (“001356”,
СКС-52, “Иванов И.И.”, “Контракт”)
DELETE FROM СТУДЕНТ
WHERE НомерЗачетки
= (SELECT НомерЗачетки FROM КОНТРОЛЬНЫЕ WHERE
Оценка = 2)
6. Изменение записей в таблице.
UPDATE ГРУППА
SET Курс = 2
WHERE Группа = 'СКС-28'
7. Выборку данных из таблицы
SELECT СТУДЕНТ.ФИО, СТУДЕНТ.Группа, КОНТРОЛЬНЫЕ.Оценка, ПЛАН.Дисциплина, ПЛАН.Название_контрольной
FROM ДИСЦИПЛИНА INNER JOIN (ПЛАН INNER JOIN (СТУДЕНТ INNER JOIN КОНТРОЛЬНЫЕ ON СТУДЕНТ.НомерЗачетки = КОНТРОЛЬНЫЕ.НомерЗачетки)
ON ПЛАН.Номер_контрольной = КОНТРОЛЬНЫЕ.Номер_контрольной) ON ДИСЦИПЛИНА.Дисциплина = ПЛАН.Дисциплина
WHERE КОНТРОЛЬНЫЕ.Оценка=2
ORDER BY СТУДЕНТ.Группа
ASC, 1 ASC
SELECT СТУДЕНТ.ФИО,
СТУДЕНТ.Группа, Sum([КОНТРОЛЬНЫЕ]![Оценка])/
FROM СТУДЕНТ INNER JOIN КОНТРОЛЬНЫЕ ON СТУДЕНТ.НомерЗачетки = КОНТРОЛЬНЫЕ.НомерЗачетки
GROUP BY СТУДЕНТ.ФИО, СТУДЕНТ.Группа
ORDER BY СТУДЕНТ.Группа
ASC, 1 ASC
ЛИТЕРАТУРА