Составители:
Рубрика:
6
хранимые данные? Попробуем проиллюстрировать, как это учитывается на
практике.
О владельце телефона, например, можно хранить следующую информацию
Фамилия
Имя
Дата рождения
Характеристику
Фотографию
В данном случае мы не создаем реальную базу данных, которая будет
распространяться, главной целью является иллюстрация того, как происходит
процесс создания. С этой точки зрения проанализируем
перечисленные
свойства с точки зрения типов данных, которые будут использоваться
непосредственно в базе данных.
Имя и Фамилия могут храниться как текстовые строки, которые
представляют из себя последовательности символов ограниченной длины.
Максимальную длину таких строк необходимо указывать при создании
объектов хранения. В случае, если длина, например, имени окажется больше
такого ограничения, то
возможно отсечение части строки, или даже
возникновение ошибки базы данных. Оба следствия для нас нежелательны.
Второй момент, который хотелось бы отметить – хранение имени и
фамилии отдельно. В реальной жизни имя и фамилию могут писать в разном
порядке и если полное имя хранить в одной строке, придется предусмотреть
описание внутренней структуры.
В данном случае обеспечивается
правильность обращения к разным частям полного имени.
Дата рождения ассоциируется с календарем и связанными с ним
задачами. Если хранить ее в виде строки символов, придется предусмотреть
средства определения возраста, дня недели, числа дней в текущем месяце и
др. В современных базах данных предусмотрены хранение и обработка
данных
связанных с временем и датой.
Характеристика подразумевает наличие некоторого
неструктурированного, возможно, довольно длинного текста, заранее
определить размер которого затруднительно. В этом случае нужно
предусмотреть возможность хранения такой информации.
Фотография – в базе данных может храниться не только текстовая
информация.
Адрес может включать
Страну
Город
Район
7
Улицу
Номер дома
Квартиру (офис, помещение или ничего)
Дополнительную информацию (корпус, цифровые и буквенные
дополнения и др.)
Наличие страны, города, района подразумевает глобальность системы.
Это обстоятельство может служить основанием для ограничения предметной
области.
Название улицы, кажется, удовлетворяет тем же условиям что и Имя в
описании владельца, однако анализ того, сколькими
способами может быть
записано название, например, «набережная реки Карповки» говорит о том,
что название улицы необходимо сверять с некоторым внутренним
справочником или списком. Скорее всего, целесообразно такой список
выделить в отдельный объект хранения. В противном случае не совсем ясно,
как система узнает, что «реки Карповки набережная» и «наб. Карповки»
являются одним
и тем же.
Это обстоятельство показывает нам, что выбранная в начале структура
может изменяться в процессе более детального описания системы.
Выбирая способ хранения номера дома следует учитывать, какие задачи с
его помощью придется решать – если только идентификацию – можно
хранить как строку символов, если нужно выяснить на четной или нечетной
стороне
стоит дом (например, для набережных это может быть
существенным) – лучше его представлять целым числом.
О телефонном номере можно хранить следующую информацию
Собственно номер
Имя провайдера
Конечно, о телефонном номере можно хранить гораздо больше
информации, но и эта информация позволяет проиллюстрировать очередные
проблемы, которые необходимо учитывать и разрешать.
Сам номер обычно
представляет из себя последовательность цифр
фиксированной длины (в отличие от имени и фамилии) но не является
числом, с которым можно осуществлять различные арифметические
операции. Целесообразно хранить его как текстовую строку, однако
необходимо следить, чтобы в ней не встречались буквы, число цифр
соответствовало.
Имя провайдера полезно хранить, если мы хотим иметь возможность
определения, к каким сетям принадлежат номера, что может отразиться на
цене звонка.
Организация
Страницы
- « первая
- ‹ предыдущая
- …
- 2
- 3
- 4
- 5
- 6
- …
- следующая ›
- последняя »