Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Совместимость типов столбцов

 

При выполнении операций над столбцами следует помнить, что операции могут выполняться только над столбцами совместимых типов. В случае невыполнения этого требования InterBase пытается автоматически привести типы таким образом, чтобы значения, участвующие в операции, принадлежали совместимым типам. Кроме того, для ручного приведения типов можно использовать функцию CAST, которая приводит типы внутри оператора SELECT, обычно в предложении WHERE:

 

CAST (<значение> | NULL AS ТипДанных)

CAST может преобразовать исходные типы данных в результирующие типы:

 

Исходные типы данных Результирующие типы данных

DATE CHAR или NUMERIC

CHAR DATE или NUMERIC

NUMERIC DATE или CHAR

3.3. Физическая модель базы данных «БИБЛИОТЕКА».

 

На первой лекции вашему вниманию была представлена логическая модель базы данных «Библиотека». Реализуем ее с помощью средств сервера InterBase. Имена базы данных, таблиц и полей таблиц выполним, переведя их русские названия на английский язык. В дальнейшем русские названия полей будут служить их заголовками в объектах пользовательского интерфейса.

Итак. Имя базы данных – LIBRARY.GBD. В таблице 3.2 приведены названия десяти таблиц, которые в нее входят согласно логической модели. В таблицах 3.3 – 3.12 приведены имена полей, типы данных и их размерность согласно спецификациям InterBase. Здесь же показаны ключевые поля, которые обеспечивают ссылочную целостность данных. Буквами “P” и “F” обозначены PRIMARY KEY (первичный ключ) и FOREIGN KEY (внешний ключ) соответственно. Для обеспечения ссылочной целостности первичный ключ должен корреспондироваться с внешним ключом другой (дочерней) таблицы. Данные связи показаны между таблицами на диаграмме (рис. 3.1).

 

Таблица 3.2.

Имена таблиц в базе данных LIBRARY.GBD.

№ п.п. Наименование Имя в LIBRARY.GBD
1. ЧИТАТЕЛИ Readers
2. БИБЛИОТЕКАРИ Librarians
3. КНИГИ Books
4. ПАСПОРТНЫЕ ДАННЫЕ PasportData
5. ТЕЛЕФОНЫ Phones
6. АВТОРЫ КНИГ BookAuthors
7. ИНВЕНТАРНЫЕ НОМЕРА КНИГ BookInventaryNumbers
8. УЧЕТ ВЫДАЧИ КНИГ BookGiveOutRecord
9. ТИПЫ ФОНДОВ КНИГ BookFunds
10. ТИПЫ ТЕЛЕФОНОВ PhoneTypes

 

 

Таблица 3.3.

Спецификация таблицы Readers (ЧИТАТЕЛИ).

№ п.п. Заглавие Имя поля Тип Длина Ключ
1. Код Code INTEGER   P
2. Фамилия FamilyName CHAR    
3. Имя Name CHAR    
4. Отчество Patronymic CHAR    
5. № читательского билета ReaderCardNumber INTEGER    
6. Код паспорта PasportCode INTEGER   F
7. Место основной работы Job CHAR    
8. Должность Post CHAR    
9. Примечания Note BLOB    

 

 

Таблица 3.4.

Спецификация таблицы Librarians (БИБЛИОТЕКАРИ).

№ п.п. Заглавие Имя поля Тип Длина Ключ
1. Код Code INTEGER   P
2. Табельный номер ClockNumber INTEGER    
3. Фамилия FamilyName CHAR    
4. Имя Name CHAR    
5. Отчество Patronymic CHAR    
6. Код паспорта PasportCode INTEGER   F
7. Должность Post CHAR    
8. Домашний телефон HomePhone CHAR    
9. Примечания Note BLOB    

 

 

Таблица 3.5.

Спецификация таблицы Books (КНИГИ).

№ п.п. Заглавие Имя поля Тип Длина Ключ
1. Код Code INTEGER   P
2. Название Name CHAR    
3. Код автора AuthorCode INTEGER   F
4. Год издания IssueYear DATA    
5. Тираж Drawing INTEGER    
6. УДК UDK CHAR    
7. Шифр Cipher CHAR    
8. Примечания Note BLOB    

 

 

Таблица 3.6.

Спецификация таблицы PasportData (ПАСПОРТНЫЕ ДАННЫЕ).

№ п.п. Заглавие Имя поля Тип Длина Ключ
1. Код Code INTEGER   P
2. Серия паспорта Series CHAR    
3. № папорта Number INTEGER    
4. Дата рождения Birthday DATE    
5. Место рождения BirthPlace CHAR    
6. Пол Sex CHAR    
7. Место выдачи паспорта IssuePlace CHAR    
8. Дата выдачи паспорта IssueDate DATE    
9. Прописка Note BLOB    

 

Таблица 3.7.

Спецификация таблицы Phones (ТЕЛЕФОНЫ).

№ п.п. Заглавие Имя поля Тип Длина Ключ
1. Код читателя ReaderCode INTEGER   F
2. Код типа телефона PhoneTypeCode INTEGER   F
3. № телефона PhoneNumber CHAR    

 

Таблица 3.8.

Спецификация таблицы BookAuthors (АВТОРЫ КНИГ).

№ п.п. Заглавие Имя поля Тип Длина Ключ
1. Код Code INTEGER   P
2. Фамилия FamilyName CHAR    
3. Имя Name CHAR    
4. Отчество Patronymic CHAR    
5. Дата рождения Birthday DATE    
6. Дата смерти Deatheday DATE    
7. Краткая биография ShortBiography BLOB    
8. Примечания Note BLOB    

 

Таблица 3.9.

Спецификация таблицы BookInventaryNumbers (ИНВЕНТАРНЫЕ НОМЕРА КНИГ).

№ п.п. Заглавие Имя поля Тип Длина Ключ
1. Код Code INTEGER   P
2. Код книги BookCode INTEGER   F
3. Код фонда FundCode INTEGER   F
4. Инвентарный номер InventoryNumber INTEGER    
5. Стоимость Cost FLOAT    

 

Рис. 3.1. Связи между таблицами базы данных LIBRARY.GBD.

 

Таблица 3.10.

Спецификация таблицы BookGiveOutRecord (УЧЕТ ВЫДАЧИ КНИГ).

№ п.п. Заглавие Имя поля Тип Длина Ключ
1. Код Code INTEGER   P
2. Код читателя ReaderCode INTEGER   F
3. Код библиотекаря, выдавшего книгу OutLibrarianCode INTEGER   F
4. Код инвентарного номера книги InventoryCode INTEGER   F
5. Дата выдачи IssueDate DATE    
6. Дата возврата ReturnDate DATE    
7. Фактическая дата возврата FactReturnDate DATE    
8. Код библиотекаря, принявшего книгу InLibrarianCode INTEGER   F

 

Таблица 3.11.

Спецификация таблицы BookFunds (ТИПЫ ФОНДОВ КНИГ).

№ п.п. Заглавие Имя поля Тип Длина Ключ
1. Код Code INTEGER   P
2. Наименование Name CHAR    

Таблица 3.12.

Спецификация таблицы PhoneTypes (ТИПЫ ТЕЛЕФОНОВ).

№ п.п. Заглавие Имя поля Тип Длина Ключ
3. Код Code INTEGER   P
4. Наименование Name CHAR    

 

В реализации физической модели базы данных нам поможет язык работы с базами данных – это язык структурированных запросов (Structured Query Language), или сокращенно – SQL.

<== предыдущая лекция | следующая лекция ==>
Значения типа BLOB | Краткая характеристика языка SQL
Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 320; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.025 сек.