Математическая логика и базы данных

Математическая логика как инструмент для исследований в области оснований математики. Развитие теории алгоритмов. Реляционная модель данных. Отношение как файл. Ключевые поля отношений. Обобщенные теоретико-множественные операции над двумя отношениями.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 18.09.2013
Размер файла 691,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

37

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

"ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ"

Центр образования

Кафедра "Автоматизации и вычислительной техники"

РЕФЕРАТ

По дисциплине: "Дискретная математика"

на тему "Математическая логика и базы данных"

Содержание

  • Введение
  • Реляционная модель
  • Сходство с таблицами
  • Бинарная реляционная модель
  • Объектно-связная модель
  • Нормализация
  • Обобщенные теоретико-множественные операции над двумя отношениями
  • Заключение
  • Список использованных источников

Введение

Мыслительная деятельность человека представляет собой сложный и многогранный процесс, происходящий как на сознательном, так и на бессознательном (подсознательном) уровнях. Это высшая ступень человеческого познания, способность к адекватному отражению предметов и явлений действительности, т.е. к нахождению истины. Логика и интуиция - два противоположных и неразрывно связанных между собой свойства человеческого мышления. Логическое (дедуктивное) мышление отличается тем, что оно от истинных посылок всегда приводит к истинному заключению, не опираясь при этом на опыт, интуицию и другие внешние факторы. Интуиция (от лат. intuitio - "пристальное всматривание") представляет собой способность постижения истины путем прямого ее усмотрения без обоснования с помощью логически строгого доказательства. Таким образом, интуиция является своего рода антиподом, противовесом логики и строгости.

Логическая часть мыслительного процесса протекает на уровне сознания, интуитивная - на подсознательном уровне. Развитие науки и особенно математики немыслимо без интуиции. Различают два вида интуиции в научном познании: интуицию-суждение и интуицию-догадку. Интуиция-суждение (или философская интуиция-суждение) характеризуется тем, что в этом случае прямое усмотрение истины, объективной связи вещей осуществляется не просто без логически строгого доказательства, но такого доказательства для данной истины не существует и не может существовать в принципе. Интуиция-суждение осуществляется как единый (единовременный) синтетический целостный акт обобщающего характера. Именно такой характер логически недоказуемых утверждений носят рассматриваемые в теории алгоритмов тезисы Тьюринга, Чёрча и Маркова. Примером применения интуиции-суждения является установление истинности или ложности положений, помещаемых в основание той или иной математической теории, которая затем будет развиваться строгими формально-логическими методами. Интуиция-догадка, называемая также психоэвристической интуицией, характеризуется тем, что происходит прямое внелогическое усмотрение такой истины, такого факта, который впоследствии, по прошествии определенного времени, будет обоснован и доказан строго логическим путем. Такое суждение в значительной мере протекает бессознательно или подсознательно в короткие промежутки времени и проявляется как "озарение", "прозрение".

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

Для познания мира - и физического, и духовного - необходимы два совершенно разных метода: с одной стороны, логический, строго доказательный, а с другой - интуитивный, основанный на непосредственном синтетическом суждении, не опирающемся на доказательство. Гипертрофия (преувеличение) роли как строгой логики, так и интуиции - это крайности. Термин "логика" - наука о способах доказательств и опровержений - происходит от греч. (логос), что означает "слово", "понятие", "смысл". Понятие "традиционная или формальная логика" характеризует берущую свое начало от Аристотеля науку, изучающую формы и законы мышления, а также методы, с помощью которых люди в действительности делают выводы, устанавливают связь логических форм с языком. Появление логических форм и категорий, формирование законов мышления - это результат общественной практики. Именно длительная практическая деятельность человека в процессе познания окружающей действительности, миллиарды раз приводя его сознание к повторению одних и тех же логических фигур, откристаллизовала эти фигуры в законы логики. Таким образом, логика представляет собой определенный способ отражения действительности. Логика изучает то общее, что связывает мысли в их движении к познанию истины. Она есть наука о законах и формах правильного мышления. Она изучает формы рассуждений, отвлекаясь от их конкретного содержания; устанавливает, что из чего следует; ищет ответ на вопрос о направлении рассуждений.

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

Математическая логика явилась, таким образом, инструментом для исследований в области оснований математики. Данный раздел математической логики получил название "теория доказательств" или "метаматематика". Ни одна из этих двух логик не может в полной мере включать другую как частный случай, но они тесно взаимосвязаны между собой. Математическая логика, являясь более общей и более абстрактной, чем традиционная формальная логика, в то же время является и более конкретной, так как она имеет более широкое применение, дает возможность решать множество конкретных практических задач, не разрешимых средствами традиционной формальной логики. Аппарат исчислений и формальных систем в математической логике гораздо более совершенен, нежели аппарат традиционной логики. Поэтому он может применяться к решению таких сложных задач, которые недоступны для классической логики. Математическая логика способствует более глубокому пониманию логики традиционной, ее сохранению и поднятию на более высокую ступень. Благодаря математической логике, логика традиционная достигла определенного уровня совершенства, так как появилась новая возможность использования математики не только по форме, но и по существу. Немного истории.

Основоположником логики как науки является древнегреческий философ и ученый Аристотель (384-322 гг. до н.э.). Он впервые разработал теорию дедукции, т.е. теорию логического вывода. Именно он обратил внимание на то, что в рассуждениях мы из одних утверждений выводим другие, исходя не из конкретного содержания утверждений, а из определенной взаимосвязи между их формами и структурами. Древнегреческий математик Евклид (330 - 275 гг. до н.э.) впервые предпринял попытку упорядочить накопившиеся к тому времени обширные сведения по геометрии, взглянув на эту науку с общелогических позиций. Он положил начало осознанию геометрии как аксиоматической теории, а всей математики - как совокупности аксиоматических теорий, впервые на практике реализовав восходящие к Платону и Аристотелю идеи аксиоматической организации всякого научного знания.

На протяжении многих веков различными философами и целыми философскими школами дополнялась, усовершенствовалась и изменялась логика Аристотеля. Это был первый (доматематический) этап развития формальной логики. Второй этап связан с применением в логике математических методов, начало которому положил немецкий философ и математик Г. Лейбниц (1646-1716). Он пытался построить универсальный язык, с помощью которого можно было бы решать споры между людьми, а затем и вовсе все "идеи заменить вычислениями". Важный период становления математической логики начинается с появления работ английского математика и логика Джорджа Буля (1815-1864)"Математический анализ логики" (1847) и "Исследование законов мышления" (1854). Он применил к логике методы современной ему алгебры - язык символов и формул, составление и решение уравнений. Им была создана своеобразная алгебра - алгебра логики. В этот период она оформилась как алгебра высказываний и была значительно развита в работах шотландского логика А. де Моргана (1806-1871), английского логика У. Джевонса (1835-1882), американского логика Ч. Пирса (1839-1914), немецкого алгебраиста и логика Э. Шредера (1841-1902), русского математика, астронома и логика П.С. Порецкого (1846-1907). Создание алгебры логики явилось заключительным звеном в развитии формальной логики: алгебра логики поставила и решила в самом общем виде те задачи, которые рассматривались в аристотелевой логике.

Формальная логика в результате использования в ней развитого символического языка окончательно оформилась как логика символическая. Значительным толчком к новому периоду развития математической логики послужило создание в первой половине XIX в. великим русским математиком Н.И. Лобачевским (1792-1856) и независимо от него венгерским математиком Я. Бояи (1802-1860) неевклидовой геометрии. Кроме того, создание анализа бесконечно малых привело к необходимости обоснования понятия числа Как фундаментального понятия всей математики. Довершали картину парадоксы (антиномии), обнаруженные в конце XIX в. в теории множеств: они отчетливо показали, что трудности обоснования математики являются трудностями логического и методологического характера. Таким образом, перед математической логикой встали задачи, которые перед логикой Аристотеля не возникали: она должна была исследовать основания математической науки, исследовать математику как совокупность аксиоматических теорий, исследовать аксиоматический метод построения математических теорий. В ходе развития математической логики сформировались три направления обоснования математики, создатели которых по-разному пытались преодолеть возникшие в математике трудности. В каждом из них были получены фундаментальные результаты, оказавшие влияние на развитие не только математической логики, но и всей математики. Основоположником одного из направлений - логицизма - явился немецкий математик и логик Г. Фреге (1848-1925).

Он стремился всю математику обосновать через логику, применил аппарат математической логики для обоснования арифметики, построив первую формальную логическую систему, включавшую значительную часть арифметики. Кроме того, им и независимо от него Ч. Пирсом были введены в язык логики предикаты, предметные переменные и кванторы, что дало возможность применить этот язык к вопросам обоснования математики. Задачу аксиоматического построения арифметики, геометрии и математического анализа ставил перед собой итальянский математик Дж. Пеано (1858-1932). Сведение чистой математики к логике продолжили в своем трехтомном труде "Основания математики" (1910 - 1913) английские математики Б. Рассел (1872-1970) и А. Уайтхед (1861 - 1947). Данное направление не увенчалось полным успехом (в частности, оказалось невозможным вывести из чисто логических аксиом существование бесконечного множества), однако был создан богатый логический аппарат, без которого математическая логика не смогла бы оформиться как полноценная математическая дисциплина. Немецкий математик Д. Гильберт (1862-1943) предложил свой путь преодоления трудностей в основаниях математики, базирующийся на применении аксиоматического метода, с помощью которого все математические утверждения записываются в виде логических формул, некоторые из которых выделяются в качестве аксиом, а остальные логически из них выводятся. Это направление получило название формализм.

математическая логика база отношение

Открытие в 1930-1931 гг. австрийским математиком К. Гёделем (1906-1978) неполноты формализованной арифметики показало ограниченность гильбертовcкой программы обоснования математики. Тем не менее работы Гильберта и его последователей привели к глубокой разработке аксиоматического метода и окончательному осознанию его фундаментальной роли в математике.

Представители направления, возникшего в начале XX в. благодаря трудам голландского математика Л. Брауэра (1881 - 1966) и получившего название интуиционизм, предложили отказаться от рассмотрения бесконечных множеств как завершенных совокупностей, а также от закона исключенного третьего. Ими признавались только такие математические доказательства, которые конструктивно строили тот или иной объект, и оспаривались чистые доказательства существования. Они построили специфическую математику, имеющую интересные особенности, еще раз подчеркнули различие между конструктивным и неконструктивным в математике. XX в. - время бурного развития математической логики, формирования многих ее новых разделов: построены различные аксиоматические теории множеств; на базе математической логики сформирована теория алгоритмов, с помощью которой были выработаны несколько формализации понятия алгоритма.

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

Следует отметить и нестандартный подход к математическому анализу. Были созданы многочисленные новые неклассические логические системы. Немалый вклад в развитие математической логики внесли и советские математики Н.А. Васильев, И.И. Жегалкин, А.Н. Колмогоров, П.С. Новиков, А.А. Марков, А.И. Мальцев, С.А. Яновская. Кроме того, XX в. - это период начала глубокого проникновения идей и методов математической логики в технику, прежде всего в процесс конструирования и создания ЭВМ, в программирование, кибернетику, вычислительную математику, структурную лингвистику. Математическая логика - логика или математика? Вопрос о соотношении логики и математики в математической логике издавна интересовал философов, близких к математике, и математиков, близких к философии. Является ли математическая логика в традиционном (философском) понимании логикой, т.е. изучает ли она формы мышления и методы, с помощью которых люди обычно делают выводы, или же она является чисто математической дисциплиной со своим абстрактным аппаратом, не имеющим ничего общего с реальным процессом мышления?

Подобные вопросы возникли потому, что посредством математической логики математика впервые проникла в гуманитарную область знаний, в ее святая святых - сферу человеческого мышления, ранее подвластную лишь философии. Это проникновение было столь стремительным и успешным, что многие философы и мыслители сразу не осознали его преимуществ. Доказанная в 1931 г. австрийским математиком и логиком К.Г. Делем (1906-1978) теорема о неполноте формальной арифметики с большой силой показала, что математическая логика - это прежде всего логика и что к человеческому мышлению эта наука имеет самое непосредственное отношение.

Пришло понимание того, что совершенно безнадежно рассчитывать на возможность создания полной и непротиворечивой системы аксиом для арифметики или какой-либо теории, содержащей арифметику. (Полнота системы аксиом означает, что, исходя из нее, можно вывести все истинные предложения данной науки.) Из этого следует, что аксиоматический подход к арифметике натуральных чисел не в состоянии охватить всю область истинных арифметических утверждений. Отсюда также вытекает, что то, что обычно интуитивно понимается под процессом математического доказательства, не сводится к использованию аксиоматического метода и законов традиционной и математической логики. Этот самоограничительный закон логики удалось установить только с помощью математической логики, что является убедительнейшим доказательством непосредственного отношения математической логики к мышлению и законам, по которым оно работает. Известный российский логик П.С. Порецкий точно подметил, что математическая логика по предмету своему есть логика, а по методу - математика.

Математическая логика в обучении математике. Логика и математика в процессе обучения математике взаимодействуют неизбежно. Важно, чтобы это дидактическое взаимодействие не было стихийным, а сознательно организовывалось и направлялось педагогом. В нем можно выделить два аспекта. Во-первых, при обучении математике логика выступает как инструмент педагогики математики, т.е. как инструмент изучения математики. Для педагогики математики логика - это особый инструмент, причем это не метод, не средство и не форма обучения, а именно инструмент. Во-вторых, логика (как своеобразная часть математики) предстает как предмет педагогики математики, т.е. как объект, изучаемый в рамках математики и с помощью математики. Но и в этом своем качестве логика выступает как педагогика математики, ибо изучение логики с помощью математического материала в конечном итоге способствует более осознанному и глубокому изучению самой математики. Математическая логика и современные ЭВМ. Широчайшее распространение компьютеров, проникших буквально во все сферы жизни, связано с насущной проблемой развития и поддержания массовой компьютерной культуры, начиная с самого раннего возраста. Важно, чтобы росло понимание возможностей компьютера и умение взаимодействия с ним, чтобы молодые люди развивали свои способности и умение мыслить алгоритмически, т.е. отчетливо и однозначно могли определять последовательность своих действий при решении той или иной задачи. Развитие мышления в области математических наук всегда было в наибольшей степени алгоритмичным по сравнению с прочими науками, тем не менее всеобщая компьютеризация еще более отчетливо выявила эту сторону математического мышления. Математическая логика, в частности ее раздел, посвященный теории алгоритмов, являются важнейшими составляющими теоретических основ алгоритмического мышления. Не менее тесная связь методов математической логики и современных компьютеров прослеживается по следующим двум направлениям.

Эти методы используются как при физическом конструировании и создании компьютеров (алгебра высказываний и булевы функции - математический аппарат для конструирования переключательных и функциональных схем, составляющих элементную базу компьютеров), так и при создании математического обеспечения к ним. В основе многочисленных языков программирования лежат теория алгоритмов, теория формальных систем, логика предикатов. Например, название языка ПРОЛОГ означает сокращение от слов "Программирование ЛОГическое". Кроме того, синтез логики и компьютеров привел к возникновению баз данных и экспертных систем, что явилось важнейшим этапом на пути к созданию искусственного интеллекта - машинной модели человеческого разума. Понимание всех этих взаимосвязей неотделимо от современного высшего математического, технического и педагогического образования.

Реляционная модель

Реляционная модель была предложена Коддом в статье "Реляционная модель данных для больших совместно используемых банков данных", опубликованной в 1970 г. Он показал, что набор таблиц (или отношений) может быть использован для моделирования взаимосвязей между объектами реального мира и для хранения данных об этих объектах. Простая форма отношения в состоянии охватить многие из взаимозависимостей, представляемых более сложными структурами данных Паскаля и Кобола. Помимо использования отношений как средств моделирования данных можно рассматривать отношения как множества и применять к ним аппарат исчисления предикатов, с тем чтобы получить очень мощные языки запросов. Действительная привлекательность реляционной модели заключается в том, что запросы на этих языках формулируются независимо от способа хранения отношений, а пользователь избавлен от необходимости решать многие вычислительные проблемы низкого уровня.

Подходы к концепции отношения могут быть различными. Отношение определяется математически как множество кортежей и что это множество является подмножеством декартова произведения фиксированного числа доменов (областей). В результате получаем, что в каждом кортеже должно быть одно и то же количество атрибутов (компонент) и значения каждого атрибута должны выбираться из некоторого определенного домена. Более того, поскольку множество не может иметь совпадающих элементов, а кортежи можно различать лишь по значениям их компонент, то никакие два различных кортежа не могут иметь полностью совпадающих значений компонент.

Отношение, рассматриваемое как файл. Рассмотрим смысл упомянутых ограничений, используя хорошо известное в обработке понятие файла. Отношение можно рассматривать как абстрактное представление файла некоторого ограниченного типа. Такой файл состоит из последовательности записей, по одной на каждый кортеж, причём одинаковые записи запрещаются. Более того, все записи должны быть одного типа; у них должно быть одно и то же количество полей, причем в соответствующих полях различных записей должна храниться информация одного и того же типа. В таблице 1 показан пример такого файла, в таблице 2 показаны записи, которые не могут принадлежать этому файлу, поскольку в них либо слишком много полей, либо поля расположены не в требуемом порядке, либо поля не того типа, либо записи совпадают с уже существующими.

Таблица 1

Файл зарплат служащих рассматриваемый как отношение записи в файле

1978

Смит

5900

1978

Джонс

5900

1978

Харрис

6300

.

1982

Смит

6000

Таблица 2

Файл зарплат служащих рассматриваемый как отношение записи, которые не могут быть добавлены в файл

1978

Блэк

5900

Грин

1982

5300

27,5

Браун

А5

1978

Харрис

6300

Эти ограничения в действительности требуют некоторого порядка строения файла, в результате чего с ним становится легче работать. Так, ограничения на количество, упорядочение и тип напоминают правила передачи параметров в языке программирования, составляющие хорошо известную, признанную и полезную дисциплину. Ключи. Запрет на совпадение кортежей может показаться неуклюжим, но это впечатление исчезнет, когда мы рассмотрим понятие ключа. В информатике "ключевое поле" каждой записи содержит уникальное значение, по которому соответствующая запись может быть идентифицирована. Это может быть, например, обычное число - номер записи в последовательности (1, 2, 3, 4.) или номер социального страхования для человека. В таком файле мы обычно хотим, чтобы каждая запись представляла одно лицо, и не хотим, чтобы одному и тому же лицу соответствовало две записи.

Вообще говоря, такое ограничение применимо к файлам, в которых мы храним данные об уникальных объектах, таких, как города, корпорации, тепловозные двигатели и т.п. Однако реляционная модель дает возможность использовать отношения, которые представляют связи (взаимоотношения) между объектами-, например, у нас может быть отношение "ЖИЛ", связывающее людей и города, в которых они жили, показано в таблицах: 3-5.

Таблица 3

Ключевые поля для отношений

Фамилия

Город

Браун

Браун

Джонс

Смит

Смит

Абердин

Петр

Петр

Абердин

Оксфорд

Ключ

Таблица 4

Ключевые поля для отношений

Фамилия

Город

Годы

Браун

Браун

Джонс

Смит

Смит

Абердин

Петр

Петр

Абердин

Оксфорд

15

5

20

15

5

Ключ Зависимый

атрибут

Таблица 5

Ключевые поля для отношений

Фамилия

Возраст

Пол

Рост

Браун

Джонс

Смит

20

20

36

М

Ж

М

2,1

1,8

2,01

Ключ Зависимые атрибуты

В таком отношении не может быть одного ключевого поля, поскольку любой человек мог (в разное время) проживать в различных городах и, таким образом, появиться в нескольких записях. Аналогично, в одном и том же городе могло жить несколько человек. Таким образом, мы обобщим понятие ключ - как одно или несколько сцепленных (конкатенированных) полей. В нашем случае это комбинация фамилии человека и названия города, которая является уникальной и которая образует ключ записи. Это интересная ситуация, поскольку вся запись является ключом. Предположим, что добавлено еще одно поле, например, общее количество лет, в течение которых человек жил в городе, так что получилось отношение "ЖИЛ-В (фамилия, город, годы)".

Ключом каждой записи по-прежнему является фамилия и город, так как значение дополнительного поля определяется значениями фамилии и города. Не может быть двух записей с совпадающими фамилией и городом и с различным общим количеством лет, прожитых данным лицом в данном городе. Мы говорим, что количество лет функционально зависит от фамилии и города. Это означает, что можно представить себе функцию двух аргументов (фамилия, город), значением которой и будет это количество лет. На самом деле отношение "ЖИЛ-В (фамилия, город, годы)" есть представление такой функции. Отношения описанного вида, состоящие из ключа - конкатенации (сцепления) полей и нескольких функционально зависящих от них атрибутов, встречаются довольно часто. Самое главное здесь - понять, что у каждого отношения должен быть уникальный ключ, называемый первичным ключом, даже если этот ключ является конкатенацией всех атрибутов в кортеже или всех полей в записи.

У отношения могут быть и несколько потенциальных первичных ключей. Например, в нем могут быть указаны фамилия, адрес и возраст, конкатенация которых представляет собой ключ, альтернативный номеру социального страхования. Эти два ключа называются возможными ключами. Один из них выбирается затем в качестве первичного ключа. Реляционная база данных содержит несколько отношений. Обычно некоторые из них будут объектными отношениями, которые содержат по одному кортежу для каждого экземпляра некоторого объекта. У каждого кортежа имеется ключевой атрибут (или атрибуты), идентифицирующий соответствующий экземпляр, а также и другие функционально зависимые атрибуты, описывающие свойства объекта (например, возраст, пол, рост для человека). В базе данных будут также и связные отношения, кортежи которых содержат атрибуты, являющиеся ключами (некоторых других) объектов: например, в отношении "ЖИЛ-В (фамилия, город, годы)" "фамилия" является первичным ключом отношения "ЛИЧНОСТЬ (фамилия, возраст, пол, рост)", как в таблицах: 3, 4,5. Атрибут, являющийся первичным ключом другого объекта, называется посторонним ключом. Совпадение значений. Для того, чтобы реляционная база данных была полезной и непротиворечивой, каждому вхождению постороннего ключа в некоторый кортеж должен соответствовать кортеж некоторого другого отношения с совпадающим с ним первичным ключом. Это ограничение известно как ссылочная целостность.

Без такого ограничения может случиться, что некоторый посторонний ключ ссылается на объект, о котором мы ничего не знаем; это похоже на наличие номерка из гардероба в ситуации, когда мы не можем найти пальто. Обычно связные отношения служат для связи информации в базе данных с помощью посторонних ключей, чтобы можно было выбрать информацию из одного отношения и использовать полученные значения для поиска соответствующей информации из другого отношения. Оператор, используемый для этого, называется соединением. Основная идея заключается в том, что этот оператор использует совпадение значений. Наличие в кортеже адреса другого кортежа или какой бы то ни было информации о расположении последнего в базе данных противоречит духу реляционной модели. Таким образом, мы видим, из таблиц: 3, 4, 5, что кортежи "Смит, Абердин, 15" и "Смит, Оксфорд, 5" отношения ЖИЛ-В могут быть сопоставлены по совпадающему значению Смит с кортежем "Смит, 36, М, 2.01" отношения ЛИЧНОСТЬ. Было бы ошибкой, например, добавить дополнительное значение 3 в конце кортежа ЖИЛ-В, чтобы отразить тот факт, что кортеж для Смита является третьим от начала в отношении ЛИЧНОСТЬ. Эта информация является инородной для реляционной модели, которая не зависит от соображений, связанных с хранением данных и доступом к ним, т.е. соображений более низкого уровня. Модели типа Кодасил включают упомянутые детали, что, как мы увидим впоследствии, приводит к серьезным затруднениям. Красота идеи совпадения значений заключается в том, что она приводит к простым структурам и дает возможность изучать взаимоотношения между элементами данных, не заботясь о деталях реализации. На практике реляционные базы данных должны иметь структуры, например индексы и деревья, которые отслеживают расположение кортежей (это подробности, скрытые от пользователя).

Нормальная форма. Реляционная модель накладывает и другое ограничение. Значения атрибутов должны быть атомарными, т.е. не могут быть ни списками значений, ни именами целых отношений, которые заменяли бы собой такие списки значений. Это ограничение означает, что отношение должно находиться в нормальной форме. Например, мы не можем расширить кортежи в отношении ЛИЧНОСТЬ так, чтобы они содержали список городов, например, Смит, 36, М, 2.01, Абердин, Оксфорд. Единственным способом хранения такой информации является ее разбиение на два отдельных кортежа, например:

Сходство с таблицами

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

Таким образом, мы получаем следующее соответствие, как в таблице 6:

Таблица 6

Полученное соответствие

Отношение

Файл

Таблица

кортеж

запись

строка

имя атрибута

имя поля

имя колонки

имя домена

тип поля

тип колонки

Подытожим ограничения, рассмотренные выше.

1) Никакие два кортежа не могут совпадать: у каждого из них должно быть свое значение атрибута (атрибутов) первичного ключа, в котором не должно быть нулевых значений.

2) Все кортежи должны иметь одно и то же количество атрибутов в одном и том же порядке.

3) Значения каждого атрибута должны быть взяты из некоторого фиксированного домена.

4) Значения атрибутов должны быть атомарными - они не могут иметь компонент; отношения не могут иметь в качестве компонент другие отношения.

5) Чтобы реляционная база данных была непротиворечивой, должны соблюдаться и некоторые другие ограничения, такие как ссылочная целостность.

Бинарная реляционная модель

Выбор отношения, где должны храниться данные, соответствующие тому или иному атрибуту, - достаточно неприятная задача. Есть одна радикальная идея - декомпозиция всех отношений на отношения с двумя атрибутами. Этот подход, как мы увидим далее, интересным способом связан с функциональной моделью, но не лишен также и некоторых недостатков. Рассмотрим отношение ЛИЧНОСТЬ (фамилия, возраст, пол, рост). Мы можем осуществить его разложение на несколько бинарных отношений, просто сохраняя ключ (фамилию) в каждом из них, как показано в таблицах: 7, 8, 9, 10, 11, 12.

Таблица 7

Бинарная декомпозиция отношений "ЛВОЗРАСТ"

ЛВОЗРАСТ

Фамилия

Возраст

Браун

Джонс

Смит

20

20

36

Таблица 8

Бинарная декомпозиция отношений "ЛРОСТ"

ЛРОСТ

Фамилия

Рост

Браун

Джонс

Смит

2,1

1,8

2,01

Таблица 9

Бинарная декомпозиция отношений "ЛПОЛ"

ЛПОЛ

Фамилия

Пол

Браун

Джонс

Смит

М

Ж

М

Таблица 10

Бинарная декомпозиция отношений "ЖФАМИЛИЯ"

ЖФАМИЛИЯ

Т#

Фамилия

137

216

104

121

122

Браун

Браун

Джонс

Смит

Смит

Таблица 11

Бинарная декомпозиция отношений "ЖГОРОД"

ЖГОРОД

Т#

Город

137

216

104

121

122

Абердин

Петр

Петр

Абердин

Оксфорд

Таблица 12. Бинарная декомпозиция отношений "ЖГОДЫ"

ЖГОДЫ

Т#

Годы

137

216

104

121

122

15

5

20

15

5

Таким образом мы получим три отношения:

ЛВОЗРАСГ (фамилия, возраст), ЛРОСТ (фамилия, рост) и ЛПОЛ (фамилия, пол). Поскольку в каждом случае второй атрибут функционально зависит от первого, эти отношения являются просто способом хранения трех функций: возраст (фамилия), рост (фамилия) и пол (фамилия). Имеется одно важное ограничение. В связи с тем, что все эти три отношения получены декомпозицией правомерно предположить, что во всех трех отношениях встретятся кортежи с совпадающим значением ключа, Таким образом, количество кортежей в каждом отношении будет одним и тем же.

Декомпозиция становится неуклюжей, когда мы применяем ее к связному отношению, такому, как ЖИЛ-В (фамилия, город, годы). Если взять только отношение ЖИЛ (фамилия, годы), оно не будет иметь полного ключа. Из-за отсутствия какого-либо одного ключевого поля необходимо применить искусственный прием для декомпозиции такого отношения. Для этого вводим дополнительное поле, называемое идентификатором кортежа, или суррогатным ключом. Обозначим его Т#, его значения будут служить для однозначной идентификации каждого кортежа. Использование символа # в имени атрибута обычно означает, что его значения являются числовыми идентификаторами. Это могут быть числа, фактически используемые в реальном мире например, номера деталей, используемые изготовителем), или же они могут означать нечто, имеющее смысл только для вычислительной системы, как в случае с Т#. Теперь, имея такое поле, мы можем осуществить декомпозицию отношения (см. табл.10) в ЖФАМИЛИЯ (Т#, фамилия), ЖГОРОД (Т#, город), ЖГОДЫ (Т#, годы). Однако такая декомпозиция является достаточно искусственной, поскольку не ясно, как выбирать значения для Т#. Мы можем выбрать их в соответствии с расположением кортежей в памяти или же с помощью конкатенации текстовых строк - значений фамилии и города, или же с помощью некоторого генератора случайных чисел, который никогда не дает повторяющихся значений. Когда мы видим распечатку таких таблиц (см. табл.7-12), она выглядит довольно странно, поскольку смысл Т# не очевиден. Большинство пользователей предпочитает так называемые n-арные отношения, в которых все относящиеся к делу атрибуты собраны вместе с ключом.

Объектно-связная модель

Рассмотрение бинарной модели показало - мы имеем некоторое представление о том, что является "естественным" отношением при хранении данных об объектах реального мира. Мы хотим, чтобы наши отношения "моделировали" или абстрагировали некоторые свойства объектов реального мира. Чен в 1976 г. предложил ограничения на выбор отношений в его объектно-связной модели, которая подразделяет отношения на два класса. Мы имеем дело с объектами реального мира, обычно обозначаемыми именами существительными - это личности, места, предметы. Объектное отношение хранит данные о всех объектах одного и того же типа, по одному кортежу на субъект, и содержит ключ для идентификации конкретного объекта. Все другие поля должны функционально зависеть от этого ключа. Связное отношение связывает ключи двух или более объектных отношений. Оно может иметь и другие атрибуты, которые функционально зависят от этой связи. Классическим примером является отношение ИЗУЧАЕТ (студент, дисциплина), описывающее тот факт, что студент изучает определенную дисциплину. В базе данных будут также и отдельные объектные отношения с данными о студентах и дисциплинах соответственно, как показано в таблицах: 13-15.

Таблица 13

Объектные и связные отношения "Объект СТУДЕНТЫ"

Объект СТУДЕНТЫ

Фамилия

Возраст

Пол

Браун

Джонс

Маккей

20

20

18

М

Ж

М

Ключ

Таблица 14

Объектные и связные отношения "Объект ДИСЦИПЛИНЫ"

Объект ДИСЦИПЛИНЫ

Дисциплина

Ксеместров

Программир1

Программир2

История1

1

2

1

Ключ

Таблица 15

Объектные и связные отношения "связь ИЗУЧАЕТ"

связь ИЗУЧАЕТ

Студент

Дисциплина

Оценка

Браун

Браун

Джонс

Маккей

Программир1

Программир2

Программир1

История1

А

B

C

A

Ключ

Поэтому не следует помещать в базу данных отношение ИЗУЧАЕТ (студент, возраст, дисциплина, Ксеместров), так как "возраст" зависит только от "студента" и поэтому должен быть в объектном отношении СТУДЕНТЫ. Аналогично "Ксеместров" (количество семестров) зависит только от дисциплины и поэтому должно быть в отношении ДИСЦИПЛИНЫ Однако у нас вполне может быть связное отношение ИЗУЧАЕТ (студент, дисциплина, оценка), как в табл.13-15, поскольку здесь оценка (экзаменационная) зависит как от студента, так и от дисциплины. Таким образом, "оценка" является атрибутом связного, а не объектного отношения. Все это кажется совершенно очевидным, но имеются случаи, которые не так уж ясны. Возьмем в качестве примера представление цвета автомобиля. Что это - атрибут, объект или связь? Самое простое - рассматривать его как атрибут объектного отношения АВТОМОБИЛЬ (модели, изготовитель, год, цвет). Предположим, для простоты, что #модели (т.е. номер модели) является ключом - чем-то вроде международного стандарта. Мы можем вместо этого иметь объект для каждого цвета, например ЦВЕТ (#цвета, отражательная-способность, имя), описывающий специальные свойства каждого цвета, например, цвет номер 215 имеет отражательную способность 0.7 и называется "сизый". Тогда у нас будет связь ЦВЕТ-У (#модели, # цвета) для описания иветов, которые могут использоваться для окраски тех или иных моделей. Это - лучшее представление, если для каждой модели может быть использовано более одного цвета, поскольку в этом случае атрибут "цвет", уже не будет функционально зависимым. Другая возможность - иметь отдельный тип объекта для каждого ивета, перечисляющий модели, соответствующие этому цвету, например, ГОЛУБОЙ (#модели), КРАСНЫЙ (#модели), ЗЕЛЕНЫЙ (#модели), ЧЕРНЫЙ (#модели) и т.п. Это может оказаться полезным, если мы хотим разделить ивета на небольшое фиксированное количество классов и если мы заинтересованы только в вопросах вида "распечатать все красные модели".

Однако при этом будет очень трудно ответить на вопрос вида "Какой цвет у модели X?", поскольку у нас нет атрибута, значение которого мы могли бы распечатать. Вместо этого можно лишь дать положительный или отрицательный ответ на вопрос: "Является ли модель X красной?". Это различие в точности соответствует выбору предикатов в их исчислении: следует ли работать с "Цвет (X, красный)" или с "Красный (X)"? Недостаток второго варианта заключается в том, что в исчислении предикатов можно применять квантор только к значениям атрибутов, но не к именам предикатов (таким, как "красный"). Аналогично, в реляционном исчислении не может быть отношений, которые содержали бы имена других отношений. Таким образом, если необходимо выдать такое имя в ответ на запрос, то лучше рассматривать его как значение атрибута, а не как имя отношения. Из рассмотренного следует важный вывод - не существует фиксированного (единственного) метода для моделирования объектов реального мира, т.е. для их представления в виде объектов, связей или атрибутов базы данных.

Нормализация

Многие исследования посвящены способам декомпозиции отношении в соответствии с функциональными зависимостями. Две основные идеи можно резюмировать следующим образом:

Атрибуты должны зависеть от ключа, от всего ключа целиком и ни от чего другого, кроме ключа. Если это не так, следует разбить атрибуты на отдельные отношения. Если можно разбить отношение на два или более отношений с меньшим количеством "колонок" таким образом, что соединение последних в точности воспроизводит исходное отношение, то это нужно сделать. Кодд вначале предложил рад улучшений - от первой нормальной формы до второй и третьей нормальной форм; другие предложили четвертую и даже пятую нормальные формы. Вероятно, на практике самая лучшая идея - использовать объектно-связную модель для определения отношении, которые моделируют объекты и связи между ними, а затем рассмотреть полученные отношения, с тем чтобы выяснить, нельзя ли их разбить далее в соответствии с идеями нормализации. Приведем несколько примеров основных типов нормализации:

1) Частичная зависимость. Например, ИЗУЧАЕТ (студент, возраст, дисциплина, Ксеместров). Здесь "возраст" зависит только от части ключа ("студент"), вместо того чтобы зависеть от всего ключа ("студент, дисциплина"). "Возраст" надо выделить в другое отношение, где ключом является "студент".

2) Транзитивная зависимость. Например, АВТОМОБИЛЬ (#модели, изготовитель, адрес, год, цвет). Здесь "адрес" зависит на самом деле от "изготовителя" (это адрес его головного предприятия) и только косвенно - через "изготовителя" - от ключа ("#модели"). Таким образом, "изготовитель" вместе со своим "адресом" должен храниться в отдельном объектном отношении, и нужно создать отдельное отношение, связывающее "изготовителя" и "#модели".

3) Многозначная зависимость. Рассмотрим отношение ПРОДАЕТ (изготовитель, #модели, страна), кортежи которого содержат следующую информацию: Форд продает модель 257 в Великобритании, Форд продает модель 246 в Великобритании, Форд продает модель 257 в Японии, Форд продает модель 246 в Японии. Если каждый изготовитель продает все свои модели в каждой стране, то у нас на самом деле есть два независимых отношения, а именно: ПРОДАЕТ (изготовитель, #модели) и ЭКСПОРТИРУЕТ (изготовитель, страна), так как список экспортируемых моделей не зависит от страны (и наоборот). Ключ исходного отношения состоял из всех трех атрибутов, но это отношение может быть восстановлено при помощи соединения двух других отношений. Если мы предполагаем, что в будущем рассматриваемое соотношение может измениться и нам придется вводить данные об изготовителе, который экспортирует только некоторые модели в отдельные страны, то лучше сохранить отношения в первоначальном виде.

4) Необычные случаи. Например, ИЗУЧАЕТ (студент, дисциплина, преподаватель). Многое зависит от взаимоотношений между преподавателем и дисциплиной. Если у каждой дисциплины имеется один определенный преподаватель, то мы можем разбить отношения на два " (студент, дисциплина)" и " (дисциплина, преподаватель)". Если каждый преподаватель преподает одну определенную дисциплину, а одна и та же дисциплина может преподаваться одновременно различными преподавателями, то комбинация " (студент, преподаватель)" является первичным ключом и мы должны разбить наше отношение на два " (студент, преподаватель)" и " (преподаватель, дисциплина)". Однако, предположим, что в этом случае " (студент, дисциплина)" также является возможным ключом нашего отношения, что может произойти, если каждый студент учится только у одного из возможных преподавателей каждой из дисциплин. В этом случае отношения " (студент, преподаватель)" и " (преподаватель, дисциплина)" не являются в действительности независимыми, их нельзя обновлять независимо друг от друга. В частности, мы не можем добавить кортежи, связывающие одного и того же студента с двумя разными преподавателями "Смит, м-р Холл>, <Смит, м-р Вест", если эти два преподавателя имеются в другом отношении как преподаватели одной и той же дисциплины "м-р Холл, математика>, <м-р Вест, математика". В этом случае, по-видимому, лучше всего не трогать такое отношение. Пример показывает, каким сложным может быть отыскание функциональных зависимостей. Следует также иметь в виду, что некоторые функциональные зависимости могут со временем изменяться; например, в настоящее время преподаватели могут преподавать только одну дисциплину, но будущие экономические трудности могут эту ситуацию изменить, так что по известному преподавателю уже нельзя будет однозначно определить дисциплину.

Обобщенные теоретико-множественные операции над двумя отношениями

Поскольку отношение является множеством кортежей, мы можем применять классические теоретико-множественные операции, а именно объединение и пересечение. Мы будем рассматривать различные способы декомпозиции отношений на более "мелкие", поэтому полезно представить себе, каким образом можно снова объединить эти "мелкие" отношения в более "крупные". Композиция отношений с помощью теоретико-множественного объединения. Отношение можно разбить на два отношения, содержащие не пересекающиеся подмножества исходного, если брать его кортежи и по некоторому принципу помешать в то или иное из результирующих отношений. Например, можно разбить личности на два отношения: содержащие лиц в возрасте до 25 лет и в возрасте 25 лет и старше. Мы можем использовать операцию теоретико-множественного объединения для того, чтобы объединить эти два отношения и восстановить тем самым исходное. Для каждого предиката Р имеет место равенство:

R= (R селекция-по Р) объединение (R селекция-по не Р)

Если имеется несколько подмножеств и если мы получаем отношения непустым пересечением, то операция объединения должна удалить повторяющиеся кортежи для того, чтобы результат являлся множеством. Два отношения различных типов, даже если их ключевые поля совпадают, не могут быть объединены, потому что результирующее отношение будет содержать кортежи "смешанного типа". Однако можно определить такое обобщение для теоретико-множественной операции пересечения. Получаемый оператор оказывается весьма полезным и играет исключительно важную роль. Он называется соединением.

Композиция отношений с помощью соединения. Рассмотрим два отношения А (к1, к2) и В (к1, к2), имеющие одни и те же атрибуты к1 и к2, как показано в таблицах: 16-20

Таблица 16

Соединение как теоретико-множественное пересечение

A (k1 k2)

B (k1 k2)

A*B (k1 k2)

Браун

Джонс

Смит

Гаррис

20

20

36

39

Джонс

Маккей

Гаррис

20

23

39

Джонс

Гаррис

20

39

Таблица 17

Соединение как обобщенное теоретико-множественное пересечение

A (k1 k2)

A*B (k1 k2 b3)

A*B (k1 k2 b3)

Браун

Джонс

Смит

Гаррис

20

20

36

39

Джонс

Маккей

Маккей

Гаррис

20

20

23

39

2.1

2.2

1.8

1.9

Джонс

Джонс

Гаррис

20

20

39

2.1

2.2

1.9

Таблица 18

Соединение как комбинация теоретико-множественного пересечения и произведения

A (k1 k2 a3 a4)

B (k1 k2 a3 a4 b3)

Браун

Джонс

Джонс

Смит

Гаррис

Гаррис

20

20

20

36

39

39

М

Ж

Ж

М

М

М

Перт

Перт

Осло

Париж

Рим

Пуль

Джонс

Джонс

Джонс

Джонс

Гаррис

Гаррис

20

20

20

20

39

39

Ж

Ж

Ж

Ж

М

М

Перт

Перт

Осло

Осло

Рим

Пуль

2.1

2.2

2.1

2.2

1.9

1.9

Таблица 19

Соединение как декартово произведение

b (k1 k2 b3)

A*B (a3 a4 b3)

Джонс

Джонс

Маккей

Гаррис

20

20

23

39

2.1

2.2

1.8

1.9

Ж

Ж

М

Ж

Ж

М

Перт

Париж

Осло

Перт

Париж

Осло

2.1

2.1

2.1

2.2

2.2

2.2

Таблица 20

Соединение этих двух отношений, записанное в виде "А*В", по определению дает тот же результат, что и пересечение, а именно отношение С (к1, к2), содержащее кортежи, присутствующие в А и В. Результирующее отношение может быть пустым как и пустое множество.

Рассмотрим теперь ситуацию, изображенную в табл.17, где у отношения В имеется еще один атрибут, например, b3. Тогда соединение А (к1, к2,) и В (к1, к2, b3) имеет атрибуты (к1, к2, b3) и содержит такие кортежи из отношения В, для которых значения атрибутов к1 и к2 совпадают с соответствующими значениями для некоторого кортежа из отношения А. Иными словами, мы берем теоретико-множественное пересечение, но присоединяем к нему еще и атрибут b3 со значениями, взятыми из кортежей отношения В. Отметим, что если b3 не зависит функционально от к1 и к2, то может быть и несколько кортежей из отношения В, соответствующих некоторому заданному кортежу из отношения А. Предположим теперь, что у отношения А также имеются дополнительные атрибуты, например, b3 и а4 (табл.18). Можно обобщить определение соединения таким образом, чтобы результирующее отношение С (к1, к2, а3, а4, b3) содержало дополнительные атрибуты из отношений А и В. Если кортеж отношения А соответствует нескольким кортежам отношения В или наоборот, то становится очевидно, как это сделать. Если несколько кортежей отношения А соответствуют нескольким кортежам отношения В, то мы записываем по одному кортежу на каждую возможную комбинацию так, чтобы все они имели совпадающие ключевые значения для к1 и к2. Предположим теперь, что отношения А и В состоят только из А (b3, а4) и В (b3) и что совпадающих атрибутов нет (табл. 19-20). В этом случае мы просто выдаем отношение С (a3, а4, b3), содержащее все комбинации каждого из N кортежей отношения А с каждым из М кортежей отношения В - всего N*M комбинаций. Это, разумеется, не что иное, как декартово произведение отношений А и В.

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

Рассмотрим пример декомпозиции ненормализованного отношения (табл.21-22)

Таблица 21

Декомпозиция отношения (проекции)

A (k1 k2)

B (k1 k2)

C (k1 k4)

Джонс

Гаррис

20

39

Джонс

Джонс

Гаррис

2.1

2.2

1.9

Джонс

Гаррис

Ж

М

Таблица 22

Декомпозиция отношения (ненормализованное отношение)

k1

k2

k3

k4

Джонс

Джонс

Гаррис

20

20

39

2.1

2.1

1.9

Ж

Ж

М

Путем проекции на три различных отношения, которые не поддаются дальнейшей декомпозиции. Если мы соединим отношения А и В, а затем соединим результат с отношением С, то вновь получим исходное отношение. В данном случае это следует из функциональной зависимости атрибутов от ключей. Однако так будет не всегда. Хотя порядок соединения отношений и не играет роли (соединение ассоциативно и коммутативно, поскольку оно основано на декартовом произведении), тем не менее после соединения можно получить кортежи, которых не было в исходном отношении. Так, в табл.33-34

Таблица 33

Проекции, которые не воссоздают исходное отношение (проекции)

A (k1 k2)

B (k1 k2)

C (k1 k4)

Джонс

Гаррис

20

39

Джонс

Джонс

Гаррис

2.1

2.2

1.9

Джонс

Джонс

Гаррис

Ж

М

М

Таблица 34

Проекции, которые не воссоздают исходное отношение (ненормализованное отношение)

k1

k2

k3

k4

Джонс

Джонс

Гаррис

20

20

39

2.1

2.2

1.9


Подобные документы

  • Основные понятия реляционной модели данных. Отношение атрибутов внутри модели. Контроль ссылочной целостности (анализ содержимого ключевых полей связанных таблиц). Нормализация отношений реляционной базы данных. Теоретико-множественные операции.

    реферат [69,8 K], добавлен 19.12.2011

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

    презентация [260,8 K], добавлен 06.01.2014

  • Сущность и характеристика типов моделей данных: иерархическая, сетевая и реляционная. Базовые понятия реляционной модели данных. Атрибуты, схема отношения базы данных. Условия целостности данных. Связи между таблицами. Общие представления о модели данных.

    курсовая работа [36,1 K], добавлен 29.01.2011

  • Базы данных и их использование в вычислительной технике. Особенности и основная конструктивная единица сетевой модели данных. Иерархическая модель, объекты предметной области. Реляционная модель, ее наглядность, представление данных в табличной форме.

    реферат [115,8 K], добавлен 19.12.2011

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

    презентация [281,4 K], добавлен 14.10.2013

  • Реляционная алгебра как система операций над отношениями в реляционной модели данных. Теоретико-множественные операторы, синтаксис операций объединения, пересечения, вычитания и декартова произведения. Использование баз данных в вычислительной технике.

    курсовая работа [46,7 K], добавлен 01.02.2015

  • Понятие системы базы данных. Реляционная модель и ее характеристики. Целостность в реляционной модели. Реляционная алгебра. Вопросы проектирования БД. Нормальные формы отношений. Проектирование БД методом сущность-связь. ER-диаграммы. Язык SQL.

    курс лекций [353,0 K], добавлен 03.10.2008

  • Современные системы управления базами данных (СУБД). Анализ иерархической модели данных. Реляционная модель данных. Постреляционная модель данных как расширенная реляционная модель, снимающая ограничение неделимости данных, хранящихся в записях таблиц.

    научная работа [871,7 K], добавлен 08.06.2010

  • Понятие базы данных, ее архитектура. Классификация баз данных. Основные модели данных. Примеры структурированных и неструктурированных данных. Достоинства и недостатки архитектуры файл-сервер. Иерархическая модель данных. Виды индексов, нормализация.

    презентация [1,4 M], добавлен 06.08.2014

  • Базы данных с двумерными файлами и реляционные системы управления базами данных (СУБД). Создание базы данных и обработка запросов к ним с помощью СУБД. Основные типы баз данных. Базовые понятия реляционных баз данных. Фундаментальные свойства отношений.

    реферат [57,1 K], добавлен 20.12.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.