- •1. Техническое задание
- •2. Анализ задания
- •3. Проектирование бд для хранения информации.
- •3.1. Концептуальная er-модель
- •3 .3. Общее описание таблиц
- •3.4. Описание структуры таблиц
- •3.4. Описание ограничений сущности
- •3.5. Описание ограничений ссылочной целостности
- •3.6. Описание индексирования таблиц
- •3.7. Диаграмма структуры бд
- •4. Список контрольных тестов для проверки корректности данных в таблицах
- •5. Полный скрипт создания бд, таблиц, индексов и ограничений
3 .3. Общее описание таблиц
№ |
Название таблицы |
Назначение таблицы |
1 |
Users |
Хранение информации для идентификации пользователя. |
2 |
UserHistory |
Хранение истории скачивания и оценок пользователя. |
3 |
FileStat |
Хранение информации о файле книги. |
4 |
BookType |
Хранение формата электронного файла книги. |
5 |
Books |
Хранение информации об издании. Не содержит названия книги, автора, издательство, жанр. |
6 |
BooksTitle |
Хранение названий книг. |
7 |
Authors |
Хранение имён и фамилий авторов. |
8 |
Publisher |
Хранение названий издательств. |
9 |
Genre |
Хранение названий жанров. |
10 |
RelationBooksAndAuthor |
Вспомогательная таблица. Необходима для реализации связи «многие-ко-многим» между таблицами Books и Authors. |
11 |
RelationBooksAndGenre |
Вспомогательная таблица. Необходима для реализации связи «многие-ко-многим» между таблицами Books и Genre. |
3.4. Описание структуры таблиц
Users
№ |
Имя столбца |
Описание столбца |
1 |
Id |
Первичный ключ. Имеет тип int. |
2 |
Name |
Имеет тип varchar. Максимальная длина – 20 символов. Может содержать только уникальные значения. Не может содержать значение NULL. |
3 |
Pass |
Имеет тип varchar. Максимальная длина – 20 символов. Не может содержать значение NULL. |
4 |
Имеет тип varchar. Максимальная длина – 40 символов. Может содержать только уникальные значения. Не может содержать значение NULL. |
UserHistory
№ |
Имя столбца |
Описание столбца |
1 |
Id |
Первичный ключ. Имеет тип int. |
2 |
UserName |
Имеет тип varchar. Максимальная длина – 20 символов. Связян внешним ключом со столбцом Name в таблице Users. Не может содержать значение NULL. |
3 |
FileBookId |
Имеет тип int. Связан внешним ключом со столбцом Id в таблице FileStat. Не может содержать значение NULL. |
4 |
Data |
Имеет тип datatime. Не может содержать значение NULL. |
5 |
Rating |
Имеет тип float. Может содержать значение строго больше 0 и строго меньше 10. Может иметь значение NULL. |
FileStat
№ |
Имя столбца |
Описание столбца |
1 |
Id |
Первичный ключ. Имеет тип int. |
2 |
BookId |
Имеет тип int. Связан внешним ключом со столбцом Id таблицы Books. Не может содержать значение NULL. |
3 |
BookType |
Имеет тип int. Связан внешним ключом со столбцом Id таблицы BookType. Не может содержать значение NULL. |
4 |
Downloads |
Имеет тип int. Может содержать значение NULL. |
5 |
Size |
Имеет тип float. Может содержать значение NULL. |
6 |
FileBookLink |
Имеет тип varchar. Максимальная длина – 256 символов. Может содержать значение NULL. |
BookType
№ |
Имя столбца |
Описание столбца |
1 |
Id |
Первичный ключ. Имеет тип int. |
2 |
BookType |
Имеет тип varchar. Максимальная длина – 5 символов. Не может содержать значение NULL. |
Books
№ |
Имя столбца |
Описание столбца |
1 |
Id |
Первичный ключ. Имеет тип int. |
2 |
BookNameId |
Имеет тип int. Связан внешним ключом со столбцом Id таблицы BooksTitle. Не может содержать значение NULL. |
3 |
PublisherId |
Имеет тип int. Связан внешним ключом со столбцом Id таблицы Publisher. Не может содержать значение NULL. |
4 |
Edition |
Имеет тип tinyint. Может содержать значение NULL. |
5 |
DataFirstPubl |
Имеет тип datatime. Не может содержать значение NULL. |
6 |
Rating |
Имеет тип numeric.Количество знаков после запятой - 2. Может содержать значение NULL. |
7 |
ISBN |
Имеет тип nchar. Длина – 13 символов. Не может содержать значение NULL. |
8 |
UDK |
Имеет тип varchar. Максимальная длина – 20 символов. Может содержать значение NULL. |
BooksTitle
№ |
Имя столбца |
Описание столбца |
1 |
Id |
Первичный ключ. Имеет тип int. |
2 |
Title |
Имеет тип varchar. Максимальная длина – 70 символов. Не может содержать значение NULL. |
Authors
№ |
Имя столбца |
Описание столбца |
1 |
Id |
Первичный ключ. Имеет тип int. |
2 |
Name |
Имеет тип varchar. Максимальная длина – 40 символов. Не может содержать значение NULL. |
Publisher
№ |
Имя столбца |
Описание столбца |
1 |
Id |
Первичный ключ. Имеет тип int. |
2 |
Name |
Имеет тип varchar. Максимальная длина – 40 символов. Не может содержать значение NULL. |
Genre
№ |
Имя столбца |
Описание столбца |
1 |
Id |
Первичный ключ. Имеет тип int. |
2 |
Genre |
Имеет тип varchar. Максимальная длина – 30 символов. Не может содержать значение NULL. |
RelationBooksAndAuthor
№ |
Имя столбца |
Описание столбца |
1 |
Id |
Первичный ключ. Имеет тип int. |
2 |
AuthorId |
Имеет тип int. Связан внешним ключом со столбцом Id таблицы Authors. Не может содержать значение NULL. |
3 |
BooksId |
Имеет тип int. Связан внешним ключом со столбцом Id таблицы Books. Не может содержать значение NULL. |
RelationBooksAndGenre
№ |
Имя столбца |
Описание столбца |
1 |
Id |
Первичный ключ. Имеет тип int. |
2 |
GenreId |
Имеет тип int. Связан внешним ключом со столбцом Id таблицы Genre. Не может содержать значение NULL. |
3 |
BooksId |
Имеет тип int. Связан внешним ключом со столбцом Id таблицы Books. Не может содержать значение NULL. |