Концептуальное моделирование структуры данных — КиберПедия 

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Концептуальное моделирование структуры данных

2020-03-31 108
Концептуальное моделирование структуры данных 0.00 из 5.00 0 оценок
Заказать работу

Для реализации приложения “Туристическое агентство Ялта-путник”, необходимо разработать модель базы данных.

Принято выделять два уровня представления модели данных - физический и логический.

Логические Модели

В логической модели все данные представлены в виде таблиц. Строки в каждой таблице - это кортеж неструктурированных единиц данных, "атрибутов". Набор кортежей, составляющий таблицу, образует математическое отношение; таким образом, модель данных представляется множеством таблиц-отношений (называемых также R-таблицами)

Атрибуты строк-кортежей (и таблиц-отношений) - это значения из заданных наравне с таблицами областей определения. Разные столбцы в одной и той же или в разных таблицах могут иметь одну и ту же область определения.

Значения атрибутов в таблице-отношении могут иметь только один определенный вид функциональной зависимости друг от друга, а именно, все значения в произвольном кортеже должны по отдельности зависеть только от значений столбца или группы столбцов - одних для всего отношения. Такой столбец или группа столбцов, называются ключевыми, а значения атрибутов в них - ключами.

Физическая модель

При проектировании физической базы данных логическая модель переводится в набор операторов SQL, которые определяют базу данных MySQL. - реляционная базаданных, поэтому необходимо перевести логическую модель, подобную описанной, в физическую базу данных MySQL.

Правила перевода из логической модели в физическую

1. Объекты становятся таблицами в физической базе данных.

2. Атрибуты становятся колонками в физической базе данных. Для каждой колонки нужно выбрать подходящий тип данных.

.   Уникальные идентификаторы становятся колонками, не допускающими значение NULL. В физической базе данных они называются первичными ключами (primary keys). По необходимости можно создать уникальный индекс по идентификатору, чтобы обеспечивать уникальность. Отношения моделируются в виде внешних ключей (foreign keys).

В физической схеме из всех названий объектов необходимо удалить пробелы. Это вызвано тем, что названия нужно преобразовать в вызовы SQL, создающие таблицы, поэтому названия таблиц должны удовлетворять правилам SQL для образования имен. Все первичные ключи нужно сделать типа INT. Поскольку эти атрибуты искусственные, нужно приписать им любой индексируемый тип. Для остальных колонок установлен тип TEXT и VARCHAR с длиной от 50 до 255 символов.

 

Создание базы данных

 

Ниже представлены скрипты MySQL для создания таблиц базы данных Web-приложения “ Туристическое агентство Ялта-путник”.

CREATE TABLE `categories` (`id` int(2) NOT NULL auto_increment, `title` varchar(255) NOT NULL default '', `meta_d` varchar(255) NOT NULL default '', `meta_k` varchar(255) NOT NULL default '', `text` text NOT NULL, PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=21 DEFAULT CHARSET=utf8 AUTO_INCREMENT=21;TABLE `comments` (`id` int(5) NOT NULL auto_increment, `post` int(5) NOT NULL, `author` varchar(100) NOT NULL, `text` text NOT NULL, `date` date NOT NULL, PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=68 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=68;TABLE `contact_form` (`id` int(5) NOT NULL auto_increment, `name` varchar(100) NOT NULL, `email` varchar(100) NOT NULL, `themes` varchar(100) NOT NULL, `text` text NOT NULL, PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=51 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=51;TABLE `country` (`id` int(2) NOT NULL auto_increment, `title` varchar(255) NOT NULL default '', `meta_d` varchar(255) NOT NULL default '', `meta_k` varchar(255) NOT NULL default '', `text` text NOT NULL, PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=29 DEFAULT CHARSET=utf8 AUTO_INCREMENT=29;TABLE `data` (`id` int(5) NOT NULL auto_increment, `transporte` int(3) NOT NULL, `cat` int(3) default '0', `meta_d` varchar(255) default NULL, `meta_k` varchar(255) NOT NULL default '', `description` text, `text` text, `view` int(7) NOT NULL default '0', `duration` varchar(100) default NULL, `date` date default NULL, `mini_img` varchar(255) default NULL, `title` varchar(255) character set ucs2 default NULL, `secret` int(1) NOT NULL default '0', `rating` int(10) NOT NULL default '5', `q_vote` int(10) NOT NULL default '1', `isto` varchar(255) NOT NULL, `price1` int(5) default NULL, `price2` int(5) NOT NULL, `price3` int(5) NOT NULL, `price4` int(5) NOT NULL, `price5` int(5) NOT NULL, `country` int(3) default NULL, `rut` int(3) NOT NULL, `city` varchar(150) NOT NULL, `hotel` int(1) default NULL, `photo1` varchar(255) NOT NULL, `photo1_desc` varchar(155) NOT NULL, `photo2` varchar(255) NOT NULL, `photo2_desc` varchar(155) NOT NULL, `photo3` varchar(255) NOT NULL, `photo3_desc` varchar(55) NOT NULL, PRIMARY KEY (`id`), KEY `title` (`title`), KEY `title_2` (`title`), KEY `title_3` (`title`), FULLTEXT KEY `text` (`text`)

) ENGINE=MyISAM AUTO_INCREMENT=98 DEFAULT CHARSET=utf8 AUTO_INCREMENT=98;TABLE `form_ticket` (`title` varchar(155) NOT NULL, `id` int(5) NOT NULL auto_increment, `date` varchar(150) NOT NULL, `period` varchar(150) NOT NULL, `price` varchar(150) NOT NULL, `people` varchar(250) NOT NULL, `name` varchar(250) NOT NULL, `email` varchar(250) NOT NULL, `mobile` varchar(250) NOT NULL, `text` text NOT NULL, PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=96 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=96;TABLE `guestbook` (`id` int(11) NOT NULL auto_increment, `guest` varchar(100) NOT NULL, `text` text NOT NULL, `date` date NOT NULL, PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=21 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=21;TABLE `rutas` (`id` int(2) NOT NULL auto_increment, `title` varchar(255) NOT NULL default '', `meta_d` varchar(255) NOT NULL default '', `meta_k` varchar(255) NOT NULL default '', `text` text NOT NULL, PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=28 DEFAULT CHARSET=utf8 AUTO_INCREMENT=28;TABLE `settings` (`id` int(3) NOT NULL auto_increment, `title` varchar(255) NOT NULL default '', `meta_d` varchar(255) NOT NULL default '', `meta_k` varchar(255) NOT NULL default '', `text` text NOT NULL, `page` varchar(255) NOT NULL default '', PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8 AUTO_INCREMENT=8;TABLE `transporte` (`id` int(2) NOT NULL auto_increment, `title` varchar(255) NOT NULL default '', `meta_d` varchar(255) NOT NULL default '', `meta_k` varchar(255) NOT NULL default '', `text` text NOT NULL, PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=26 DEFAULT CHARSET=utf8 AUTO_INCREMENT=26;TABLE `users` (`id` int(11) NOT NULL auto_increment, `login` varchar(15) NOT NULL default '', `password` varchar(15) NOT NULL default '', PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=30;

 


Поделиться с друзьями:

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.007 с.