Создавая базу данных, стремяться упорядочить информацию по различным признакам для того, чтобы потом извлекать из нее необходимые данные в любом сочетании. Сделать это возможно, только если данные структурированы. Структурирование – это набор соглашений о способах представления данных. Понятно, что структурировать информацию можно по-разному. В зависимости от структуры различают иерархическую, сетевую, реляционную, объектно-ориентированную и гибридную модели баз данных.
Иерархическая модель данных – это модель данных, где используется представление базы данных в виде древовидной (иерархической) структуры, состоящей из объектов (данных) различных уровней.
Между объектами существуют связи, каждый объект может включать в себя несколько объектов более низкого уровня. Такие объекты находятся в отношении предка (объект более близкий к корню) к потомку (объект более низкого уровня), при этом возможна ситуация, когда объект-предок не имеет потомков или имеет их несколько, тогда как у объекта-потомка обязательно только один предок.
Наиболее широкое применение иерархическая модель данных получила в языке разметки XML. XML (англ. eXtensible Markup Language – расширяемый язык разметки) – рекомендованный Консорциумом Всемирной паутины (W3C) язык разметки. Спецификация XML описывает XML-документы и частично описывает поведение XML-процессоров (программ, читающих XML-документы и обеспечивающих доступ к их содержимому). XML разрабатывался как язык с простым формальным синтаксисом, удобный для создания и обработки документов программами и одновременно удобный для чтения и создания документов человеком, с подчёркиванием нацеленности на использование в Интернете. Язык называется расширяемым, поскольку он не фиксирует разметку, используемую в документах: разработчик волен создать разметку в соответствии с потребностями к конкретной области, будучи ограниченным лишь синтаксическими правилами языка. Сочетание простого формального синтаксиса, удобства для человека, расширяемости, а также базирование на кодировках Юникод для представления содержания документов привело к широкому использованию как собственно XML, так и множества производных специализированных языков на базе XML в самых разнообразных программных средствах. XML является подмножеством SGML.
Иерархическая модель данных применяется для всех сайтов в мире, используя язык HTML. HTML (от англ. HyperText Markup Language) – стандартный язык разметки документов во Всемирной паутине. Большинство веб-страниц содержат описание разметки на языке HTML (или XHTML). Язык HTML интерпретируется браузерами и отображается в виде документа в удобной для человека форме. Язык HTML является приложением SGML (стандартного обобщённого языка разметки) и соответствует международному стандарту ISO 8879. Язык XHTML является более строгим вариантом HTML, он следует всем ограничениям XML и, фактически, XHTML можно воспринимать как приложение языка XML к области разметки гипертекста.
Объектные базы данных (также объектно-ориентированные системы управления базами данных) являются системой управления базами данных, в которых информация представлена в виде объектов, используется в объектно-ориентированном программировании.
Объектно-ориентированные системы управления базами данных (ООСУБД) объединяют возможности базы данных с возможностями языка объектно-ориентированного программирования. ООСУБД позволяют использовать объектно-ориентированные языки программирования для разработки продукта, хранения данных в качестве объектов, копировать или изменять существующие объекты. Поскольку база данных интегрирована с языком программирования, программист может поддерживать согласованность в одной среде, тем, что ООСУБД и язык программирования будут использовать одну ту же модель представления.
Так как сейчас повсеместно развиваются интернет-технологии, компании заинтересованы в ООСУБД для хранения своих сложных данных. Использование СУБД, которая была специально предназначена для хранения данных в качестве объектов дает преимущество тем компаниям, которые ориентируются на мультимедийные презентации или организаций, которые используют системы автоматизированного проектирования. Объектно-ориентированные базы данных предназначены для работы с объектно-ориентированными языками программирования, такими как Ruby, Python, Perl, Java, C#, Visual Basic .NET, C ++, многие из которых поддерживает Microsoft Visual Studio.
Большинство объектных баз данных также предлагают какой-либо язык запросов, позволяющий производить поиск по объектам, используя декларативный подход к программированию. Доступ к данным может быть произведён быстрее, так как зачастую нет необходимости в присоединении таблиц (как в табличной реализации реляционной базы данных). Это потому, что объект может быть получен непосредственно, без поиска, используя указатели. Следует отметить, что язык программирования и схема базы данных используют одни те же определения типов.
База данных хранит объект как комплекс данных и связи между этими данными, без отображения на реляционные строки и столбцы, и это делает их пригодными для работы с очень сложными данными. Объекты имеют связь многие к многим, и получает доступ к использованию указателей. Указатели связаны с объектами, чтобы установить отношения. Еще одно преимущество ООСУБД, что они могут быть запрограммированными с небольшими процедурными различиями, не влияющими на всю систему.
Реляционная база данных представляет собой набор таблиц (сущностей). Таблицы состоят из колонок и строк (кортежей). Внутри таблиц могут быть определены ограничения, между таблицами существуют отношения.
Таблицы в реляционных базах данных обладают рядом свойств. Основными являются следующие: В таблице не может быть двух одинаковых строк. В математике таблицы, обладающие таким свойством, называют отношениями – по-английски relation, отсюда и название – реляционные. Столбцы располагаются в определенном порядке, который создается при создании таблицы. В таблице может не быть ни одной строки, но обязательно должен быть хотя бы один столбец. У каждого столбца есть уникальное имя (в пределах таблицы), и все значения в одном столбце имеют один тип (число, текст, дата...). На пересечении каждого столбца и строки может находиться только одно значение.
Разработка структуры БД – важнейшая задача, решаемая при проектировании БД. Структура БД (набор, форма и связи ее таблиц) – это одно из основных проектных решений при создании приложений с использованием БД. Созданная разработчиком структура БД описывается на языке определения данных СУБД.
Почти все системы баз данных, которые мы используем, являются реляционными, такие как Oracle, SQL Server, MySQL, Sybase, DB2, TeraData и так далее.
Для выполнения операций с базами данных применяется механизм запросов. Результатом выполнения запросов является либо отобранное по определенным критериям множество записей, либо изменения в таблицах. Запросы к базе формируются на специально созданном для этого языке, который так и называется «язык структурированных запросов» (SQL – Structured Query Language).
SQL – формальный непроцедурный язык программирования, применяемый для создания, модификации и управления данными в произвольной реляционной базе данных, управляемой соответствующей системой управления базами данных (СУБД). SQL основывается на исчислении кортежей.
Поскольку SQL не является привычным процедурным языком программирования (то есть не предоставляет средств для построения циклов, ветвлений и т. д.), вводимые разными производителями расширения касались в первую очередь процедурных расширений. Практически в каждой СУБД применяется свой процедурный язык, в частности, в Oracle Database используется PL/SQL, в Microsoft SQL Server и Adaptive Server Enterprise – Transact-SQL.
Язык Transact-SQL является ключом к использованию MS SQL Server. Все приложения, взаимодействующие с экземпляром MS SQL Server, независимо от их реализации и пользовательского интерфейса, отправляют серверу инструкции Transact-SQL.
SQL позволяет быстро выбирать данные для технических, финансовых и других отчетов и презентаций, и формирует данные в Представление. Представление (view) – виртуальная (логическая) таблица, представляющая собой поименованный запрос (синоним к запросу), который будет подставлен как подзапрос при использовании представления. В отличие от обычных таблиц реляционной баз данных, представление не является самостоятельной частью набора данных, хранящегося в базе. Содержимое представления динамически вычисляется на основании данных, находящихся в реальных таблицах. Изменение данных в реальной таблице базы данных немедленно отражается в содержимом всех представлений, построенных на основании этой таблицы.
Некоторые программы, например Microsoft Access, имеют инструменты для форматирования визуальной составляющей Представления в виде Отчета. Но в большинстве случаев данные, показанные в одном разрзе, являются только частью представляемой информации, и передаются в программные продукты для оформления, такие как: Microsoft Word, Microsoft PowerPoint и др.