36. Системы управления базами данных. Модели данных.
Систе́ма управле́ния ба́зами да́нных (СУБД) — совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных[1].
В классической теории баз данных, модель данных есть формальная теория представления и обработки данных в системе управления базами данных (СУБД), которая включает, по меньшей мере, три аспекта:
аспект структуры: методы описания типов и логических структур данных в базе данных;
аспект манипуляции: методы манипулирования данными;
аспект целостности: методы описания и поддержки целостности базы данных.
Аспект структуры определяет, что из себя логически представляет база данных, аспект манипуляции определяет способы перехода между состояниями базы данных (то есть способы модификации данных) и способы извлечения данных из базы данных, аспект целостности определяет средства описаний корректных состояний базы данных.
Модель данных — это абстрактное, самодостаточное, логическое определение объектов, операторов и прочих элементов, в совокупности составляющих абстрактную машину доступа к данным, с которой взаимодействует пользователь. Эти объекты позволяют моделировать структуру данных, а операторы — поведение данных[1].
Каждая БД и СУБД строится на основе некоторой явной или неявной модели данных. Все СУБД, построенные на одной и той же модели данных, относят к одному типу. Например, основой реляционных СУБД является реляционная модель данных, сетевых СУБД — сетевая модель данных, иерархических СУБД — иерархическая модель данных и т. д.
В литературе, статьях и в обиходной речи иногда встречается использование термина «модель данных» в смысле «схема базы данных» («модель базы данных»). Такое использование является неверным, на что указывают многие авторитетные специалисты, в том числе К. Дж. Дейт, М. Р. Когаловский, С. Д. Кузнецов. Модель данных есть теория, или инструмент моделирования, в то время как модель базы данных (схема базы данных) есть результат моделирования. По выражению К. Дейта соотношение между этими понятиями аналогично соотношению между языком программирования и конкретной программой на этом языке[1].
М. Р. Когаловский поясняет эволюцию смысла термина следующим образом. Первоначально понятие модели данных употреблялось как синоним структуры данных в конкретной базе данных. В процессе развития теории систем баз данных термин «модель данных» приобрел новое содержание. Возникла потребность в термине, который обозначал бы инструмент, а не результат моделирования, и воплощал бы, таким образом, множество всевозможных баз данных некоторого класса. Во второй половине 1970-х годов во многих публикациях, посвященных указанным проблемам, для этих целей стал использоваться все тот же термин «модель данных». В настоящее время в научной литературе термин «модель данных» трактуется в подавляющем большинстве случаев в инструментальном смысле (как инструмент моделирования)[2].
Тем не менее, длительное время термин «модель данных» использовался без формального определения. Одним из первых специалистов, который достаточно формально определил это понятие, был Э. Кодд. В статье «Модели данных в управлении базами данных»[3] он определил модель данных как комбинацию трёх компонентов:
Коллекции типов объектов данных, образующих базовые строительные блоки для любой базы данных, соответствующей модели
Коллекции общих правил целостности, ограничивающих набор экземпляров тех типов объектов, которые законным образом могут появиться в любой такой базе данных
Коллекции операций, применимых к таким экземплярам объектов для выборки и других целей
- 1. Информатика. Предмет информатики. Основные задачи информатики.
- 2. Понятие сообщения, данных, сигнала.
- 3. Атрибутивные свойства информации.
- 4. Показатели качества информации, формы и способы представления информации.
- 5. Системы передачи информации.
- 6. Кодирование информации (текст, числа, цвет, графика, звук).
- 7. Позиционные системы счисления. Двоичное кодирование.
- 8. Меры и единицы количества и объема информации. Энтропия.
- 9. Логические основы эвм.
- 10. Логические операции: дизъюнкция, конъюнкция, отрицание, импликация, эквивалентность.
- 11. Предикаты. Операнды. Законы логического вывода.
- 12. История развития эвм. Поколения вычислительных средств.
- 13. Понятие и основные виды архитектуры эвм.
- 14. Архитектура эвм по Фон Нейману.
- 15. Состав и назначение основных элементов персонального компьютера, их характеристики.
- 16. Центральный процессор, системная шина.
- 17. Хранение информации: запоминающие устройства.
- 18. Озу, пзу, винчестер, накопители на гибких и компакт-дисках, стример, флэш.
- 19. Устройства ввода/вывода данных, их разновидности и основные характеристики.
- 20. Координатные устройства ввода. Видео- и звуковые адаптеры. Мониторы.
- 21. Сканеры. Принтеры. Плоттеры.
- 22. Программы и их типы. Понятие программного обеспечения.
- 23. Понятие системного программного обеспечения: назначение, возможности, структура.
- 24. Операционная система. Назначение, типы, особенности.
- 25. Утилиты (драйверы).
- 26. Файловая структура операционных систем. Операции с файлами.
- 27. Понятие служебного программного обеспечения.
- 28. Архиваторы, диспетчеры файлов, средства диагностики компьютера.
- 29. Прикладные программы их разновидности.
- 30. Технологии обработки текстовой информации.
- 31. Основы машинной графики: растровая, векторная, трехмерная.
- 32. Электронные таблицы.
- 33. Электронные презентации.
- 34. Основы баз данных и знаний.
- 35. Автоматизированный банк данных. Его функции и составляющие.
- 36. Системы управления базами данных. Модели данных.
- 37. Моделирование как метод познания. Понятие модели. Типы моделирования.
- 38. Классификация и формы представления моделей. Формализация.
- 39. Информационная модель объекта. Типы информационных моделей.
- 40. Методы и технологии моделирования. Требования к моделированию.
- 41. Компьютерное моделирование.
- 42. Алгоритмизация. Понятие алгоритма, его свойства.
- 43. Формы представления алгоритмов. Блок-схема алгоритма.
- 44. Основные алгоритмические конструкции. Базовые алгоритмы.
- 45. Программы линейной структуры.
- 46. Операторы ветвления.
- 47. Циклы. Виды и блок-схемы.
- 48. Интегрированные среды программирования.
- 49. Языки программирования высокого уровня.
- 50. Основные элементы языков программирования.
- 51. Эволюция и классификация языков программирования: неструктурные, структурные, логические, функциональные, объектно-ориентированные, языки программирования для баз данных и Интернета.
- 52. Структуры и типы данных языка программирования.
- 53. Тестирование программного обеспечения.
- 54. Этапы разработки программного обеспечения.
- 55. Структурное программирование на языке Паскаль. Типы данных.Константы. Переменные.
- 56. Операторы ввода, вывода в Паскале. Операторы циклов while, for, repeat.
- 57. Условный оператор if. Оператор выбора case. Массивы.
- 58. История создания компьютерных сетей.
- 59. Сетевые технологии обработки данных.
- 60. Основы компьютерной коммуникации.
- 61. Классификации вычислительных сетей.
- 62. Коммуникационное оборудование. Технология клиент-сервер.
- 63. Принципы построения вычислительных сетей. Основные топологии компьютерных сетей.
- 64. Интернет. Сетевой сервис и сетевые стандарты. Протокол tcp/ip.
- 65. Принцип работы в сети Интернет. Адресация в Интернете. Система доменных имен dns.
- 66. Программы для работы в Интернете. Сервис World Wide Web.
- 67. Язык разметки гипертекста (html).
- 68. Информационно-поисковые системы и каталоги. Поиск информации.
- 69. Электронная почта.
- 70. Защита информации в локальных и глобальных компьютерных сетях.
- 71. Шифрование данных. Электронная подпись.