Идея темы родилась после дискуссии с Ognev (надеюсь на его внимание в дальнейшем).
Предлагаю собрать в одном месте все вопросы, касающиеся теоретических и практических аспектов обработки данных (а может быть, и знаний).
Причиной создания темы послужило большой количество отдельных тем, в которых обсуждаются смежные вопросы, например:
- Реляционная база данных для небольшой сети
- Delphi и локальная БД
- Локальная База Данных без установки дополнительного ПО
Сразу порекомендую сайт CITForum (классическое введение в предмет: Основы современных баз данных (Кузнецов С.Д.)), форум www.sql.ru и книгу: Дейт К. Введение в системы баз данных, 8-е издание. — Вильямс, 2005. – 1328 с.
Определения
Сначала введём некоторые определения (обсуждаемые! милости просим замечания).
Без прочтения этих определений в тему ничего не постить!
Данные [Data] - первичное понятие, которое невозможно однозначно определить, не сталкиваясь с "проблемой порочного круга" (смотри, например, "герменевтический круг", http://ariom.ru/wiki/GermenevticheskijjKrug). Пока что определим данные (здесь) как любую информацию, представленную в форме, пригодной для хранения, передачи и обработки средствами вычислительной техники.
База данных (БД) [DB, DataBase] - структурированная совокупность данных, организованная по единым правилам, включающим принципы описания, хранения и манипулирования этими данными. Как правило, БД является информационной моделью некоторой предметной области. БД можно рассматривать на различных уровнях абстракции, обычно выделяют как минимум два: физический (способ представления данных с использованием конкретного аппаратного и программного обеспечения) и логический (способ представления данных с точки зрения пользователя).
Система управления базами данных (СУБД) [DBMS, DataBase Management System] - программное обеспечение, служащее для абстракции физического уровня представления данных и управления доступом к данным.
Основные функции СУБД: определение данных (то есть работа с метаданными - данными, описывающими данные), хранение данных, обработка данных, обеспечение целостности и безопасности данных, импорт/экспорт данных в различных форматах.
Клиент СУБД - человек или программная система, использующая СУБД для работы с данными. Людей (пользователей), работающих с СУБД, делят минимум на два класса: администраторов и конечных пользователей. Администраторы делятся также минимум на два класса: администраторов данных и администраторов баз данных (что вытекает из концепции централизованного управления данными).
Архитектура программной системы - совокупность существенных решений, определяющих:
- организацию программной системы;
- выбор уровней абстракции и структурных элементов системы, а также интерфейсов между ними;
- поведение структурных элементов в процессе взаимодействия с другими элементами;
- архитектурный стиль, направляющий и определяющий организацию систе-мы.
Реляционная алгебра (relation algebra, РА) и реляционное счисление (или исчисление) (relational calculus, РС) - алгебраические системы (про алгебраические системы смотри, например здесь) для формального описания реляционной логической модели данных.
Предназначены для описания и манипулирования отношениями (relation) на кортежах (tuple).
Отношение неформально можно считать таблицей с неупорядоченными строками, где каждая строка - это кортеж (упорядоченная последовательность элементов данных). Имена столбцов таблицы (естественно, упорядоченные) - неформальное представление схемы отношения.
Отличия между РА и РС, если по-простому, в том, что выражения РА являются набором предписаний, а выражения счисления - набором описаний.
Первоначально РА и РС предложил Эдгар Франк "Тед" Кодд.
Первоисточник - статья Codd E.F. A relational model of data for large shared data banks // CACM, 1970, 13, №6.
Понятие модели данных полноценно вводится в докладе Codd E.F. Data models in database management // Proc. workshop on data abstraction, database and conceptual modelling, 1980.
Но популяризовал и объяснил народу реляционную модель К. Дж. Дейт (C. J. Date).
Существует несколько различных вариантов формализации РА и РС!
РС существует в двух основных формах - счисление кортежей и счисление доменов.
Доступные источники:
Введение в реляционные базы данных (Кузнецов С.Д.)
Язык SQL (Structured Query Language) - стандартизированный ISO язык манипулирования реляционными данными. По сути, язык реляционного счисления (с кучей дополнений), он является реляционно полным, то есть может описать любое отношение.
Доступные источники:
Основы SQL (Полякова Л.Н.)
Основы SQL (Пирамидин А.)
Справочник с примерами по языку SQL
Основные модели данных:
- иерархическая;
- сетевая;
- реляционная;
- объектно-ориентированная;
- логическая (обычно имеют в виду дедуктивную).
Классификация СУБД (некоторые критерии):
По поддерживаемой модели данных (см. выше).
По поддерживаемым языкам манипулирования данными.
По способу взаимодействия ядра СУБД с клиентами:
- встроенная (является компонентом разрабатываемого приложения, обеспечивая уровень абстракции данных; не нуждается в отдельном развёртывании);
- локальная (является отдельным приложением/библиотекой; развёртывается отдельно, но на том же компьютере);
- клиент-серверная (является отдельным приложением, обеспечивающим доступ клиентов по некоторому сетевому протоколу; не очень красивое название, так как формально темин "клент-серверный" относится к архитектруре, но термин "сетевой" уже занят и ещё более расплывчатый);
- распределённая (является совокупностью элементов, распределённых по узлам сети; представляется клиентам единым целым (уровни прозрачности могут быть различными)).
По числу одновременно обслуживаемых клиентов
- однопользовательская;
- многопользовательская.
По предметной области:
- универсальная;
- специализированная (например, геоинформационная, химическая и т.д.).
По классам эффективных операций:
- универсальная;
- справочно-поисковая;
- накапливающая;
- перерабатывающая.
По поддерживаемым платформам (очевидно).
По наличию интерфеса с пользователем (ИП).
- не имеющая ИП;
- имеющая интерфейс для администратора БД;
- имеющая интерфейс для пользователя БД;
- имеющая возможность создания нестандартного ИП.
По дополнительным возможностям.
Некоторые широко используемые современные СУБД (список будем расширять):
1. Реляционные
1.1. Microsoft SQL Server. Последняя версия Microsoft SQL Server 2005 sp 2.
1.2. Oracle Database. Последняя версия Oracle Database 10g.
1.3. IBM DB2. Последняя версия IBM DB2 9.
1.4. IBM Informix. Последняя версия IBM Informix 11.
1.5. Sybase Adaptive Server. Последняя версия Adaptive Server Enterprise 15.
1.6. MySQL. Последняя версия MySQL 5.0.
1.7. Borland/CodeGear InterBase. Последняя версия InterBase 2007 Service Pack 1.
1.8. FireBird. Последняя версия Firebird 2.0.1.
1.9. PostgreSQL. Последняя версия PostgreSQL 8.2.4.
2. Сетевые
2.1. IBM IMS. Последняя версия IBM IMS Version 10.
3. Объектные
3.1. InterSystems Cachй. Последняя версия 5.2.
Прочие СУБД (список будем расширять):
1. Реляционные
1.1. SQLite/. Последняя версия 3.4.1. Встроенная.
1.2. ComponentAce Absolute Database. Последняя версия 5.13. Встроенная.
1.3. AidAim Software Accuracer. Последняя версия 4.20. Встроенная и клиент/серверная.
1.4. Nexus Database Systems NexusDB. Последняя версия NexusDB V2.07. Встроенная и клиент/серверная.
1.5. ЛИНТЕР (by НПП «РЕЛЭКС»). Последняя версия 6.1. Встроенная и клиент/серверная.
2. Сетевые
2.1.
3. Объектные
3.1.
4. Логические (широко не используются, так как предназначены для отдельных классов задач, обычно внутрикорпоративные или исследовательские проекты)
4.1. The Aditi Deductive Database (проект Университета Мельбурна). Последняя версия Aditi 2.0 beta.
Другие источники:
INTERNET SITES
1. Открытые системы
2. Intelligent Enterprise (Technology InfoCenter: Database)
BOOKS
1. Кузнецов С.Д. Основы современных баз данных. 1997 PDF, DJVU
2. Д. Крёнке. Теория и практика построения баз данных. 2003. DJVU
Продолжение следует...
Предлагаю собрать в одном месте все вопросы, касающиеся теоретических и практических аспектов обработки данных (а может быть, и знаний).
Причиной создания темы послужило большой количество отдельных тем, в которых обсуждаются смежные вопросы, например:
- Реляционная база данных для небольшой сети
- Delphi и локальная БД
- Локальная База Данных без установки дополнительного ПО
Сразу порекомендую сайт CITForum (классическое введение в предмет: Основы современных баз данных (Кузнецов С.Д.)), форум www.sql.ru и книгу: Дейт К. Введение в системы баз данных, 8-е издание. — Вильямс, 2005. – 1328 с.
Определения
Сначала введём некоторые определения (обсуждаемые! милости просим замечания).
Без прочтения этих определений в тему ничего не постить!
Данные [Data] - первичное понятие, которое невозможно однозначно определить, не сталкиваясь с "проблемой порочного круга" (смотри, например, "герменевтический круг", http://ariom.ru/wiki/GermenevticheskijjKrug). Пока что определим данные (здесь) как любую информацию, представленную в форме, пригодной для хранения, передачи и обработки средствами вычислительной техники.
База данных (БД) [DB, DataBase] - структурированная совокупность данных, организованная по единым правилам, включающим принципы описания, хранения и манипулирования этими данными. Как правило, БД является информационной моделью некоторой предметной области. БД можно рассматривать на различных уровнях абстракции, обычно выделяют как минимум два: физический (способ представления данных с использованием конкретного аппаратного и программного обеспечения) и логический (способ представления данных с точки зрения пользователя).
Система управления базами данных (СУБД) [DBMS, DataBase Management System] - программное обеспечение, служащее для абстракции физического уровня представления данных и управления доступом к данным.
Основные функции СУБД: определение данных (то есть работа с метаданными - данными, описывающими данные), хранение данных, обработка данных, обеспечение целостности и безопасности данных, импорт/экспорт данных в различных форматах.
Клиент СУБД - человек или программная система, использующая СУБД для работы с данными. Людей (пользователей), работающих с СУБД, делят минимум на два класса: администраторов и конечных пользователей. Администраторы делятся также минимум на два класса: администраторов данных и администраторов баз данных (что вытекает из концепции централизованного управления данными).
Архитектура программной системы - совокупность существенных решений, определяющих:
- организацию программной системы;
- выбор уровней абстракции и структурных элементов системы, а также интерфейсов между ними;
- поведение структурных элементов в процессе взаимодействия с другими элементами;
- архитектурный стиль, направляющий и определяющий организацию систе-мы.
Реляционная алгебра (relation algebra, РА) и реляционное счисление (или исчисление) (relational calculus, РС) - алгебраические системы (про алгебраические системы смотри, например здесь) для формального описания реляционной логической модели данных.
Предназначены для описания и манипулирования отношениями (relation) на кортежах (tuple).
Отношение неформально можно считать таблицей с неупорядоченными строками, где каждая строка - это кортеж (упорядоченная последовательность элементов данных). Имена столбцов таблицы (естественно, упорядоченные) - неформальное представление схемы отношения.
Отличия между РА и РС, если по-простому, в том, что выражения РА являются набором предписаний, а выражения счисления - набором описаний.
Первоначально РА и РС предложил Эдгар Франк "Тед" Кодд.
Первоисточник - статья Codd E.F. A relational model of data for large shared data banks // CACM, 1970, 13, №6.
Понятие модели данных полноценно вводится в докладе Codd E.F. Data models in database management // Proc. workshop on data abstraction, database and conceptual modelling, 1980.
Но популяризовал и объяснил народу реляционную модель К. Дж. Дейт (C. J. Date).
Существует несколько различных вариантов формализации РА и РС!
РС существует в двух основных формах - счисление кортежей и счисление доменов.
Доступные источники:
Введение в реляционные базы данных (Кузнецов С.Д.)
Язык SQL (Structured Query Language) - стандартизированный ISO язык манипулирования реляционными данными. По сути, язык реляционного счисления (с кучей дополнений), он является реляционно полным, то есть может описать любое отношение.
Доступные источники:
Основы SQL (Полякова Л.Н.)
Основы SQL (Пирамидин А.)
Справочник с примерами по языку SQL
Основные модели данных:
- иерархическая;
- сетевая;
- реляционная;
- объектно-ориентированная;
- логическая (обычно имеют в виду дедуктивную).
Классификация СУБД (некоторые критерии):
По поддерживаемой модели данных (см. выше).
По поддерживаемым языкам манипулирования данными.
По способу взаимодействия ядра СУБД с клиентами:
- встроенная (является компонентом разрабатываемого приложения, обеспечивая уровень абстракции данных; не нуждается в отдельном развёртывании);
- локальная (является отдельным приложением/библиотекой; развёртывается отдельно, но на том же компьютере);
- клиент-серверная (является отдельным приложением, обеспечивающим доступ клиентов по некоторому сетевому протоколу; не очень красивое название, так как формально темин "клент-серверный" относится к архитектруре, но термин "сетевой" уже занят и ещё более расплывчатый);
- распределённая (является совокупностью элементов, распределённых по узлам сети; представляется клиентам единым целым (уровни прозрачности могут быть различными)).
По числу одновременно обслуживаемых клиентов
- однопользовательская;
- многопользовательская.
По предметной области:
- универсальная;
- специализированная (например, геоинформационная, химическая и т.д.).
По классам эффективных операций:
- универсальная;
- справочно-поисковая;
- накапливающая;
- перерабатывающая.
По поддерживаемым платформам (очевидно).
По наличию интерфеса с пользователем (ИП).
- не имеющая ИП;
- имеющая интерфейс для администратора БД;
- имеющая интерфейс для пользователя БД;
- имеющая возможность создания нестандартного ИП.
По дополнительным возможностям.
Некоторые широко используемые современные СУБД (список будем расширять):
1. Реляционные
1.1. Microsoft SQL Server. Последняя версия Microsoft SQL Server 2005 sp 2.
1.2. Oracle Database. Последняя версия Oracle Database 10g.
1.3. IBM DB2. Последняя версия IBM DB2 9.
1.4. IBM Informix. Последняя версия IBM Informix 11.
1.5. Sybase Adaptive Server. Последняя версия Adaptive Server Enterprise 15.
1.6. MySQL. Последняя версия MySQL 5.0.
1.7. Borland/CodeGear InterBase. Последняя версия InterBase 2007 Service Pack 1.
1.8. FireBird. Последняя версия Firebird 2.0.1.
1.9. PostgreSQL. Последняя версия PostgreSQL 8.2.4.
2. Сетевые
2.1. IBM IMS. Последняя версия IBM IMS Version 10.
3. Объектные
3.1. InterSystems Cachй. Последняя версия 5.2.
Прочие СУБД (список будем расширять):
1. Реляционные
1.1. SQLite/. Последняя версия 3.4.1. Встроенная.
1.2. ComponentAce Absolute Database. Последняя версия 5.13. Встроенная.
1.3. AidAim Software Accuracer. Последняя версия 4.20. Встроенная и клиент/серверная.
1.4. Nexus Database Systems NexusDB. Последняя версия NexusDB V2.07. Встроенная и клиент/серверная.
1.5. ЛИНТЕР (by НПП «РЕЛЭКС»). Последняя версия 6.1. Встроенная и клиент/серверная.
2. Сетевые
2.1.
3. Объектные
3.1.
4. Логические (широко не используются, так как предназначены для отдельных классов задач, обычно внутрикорпоративные или исследовательские проекты)
4.1. The Aditi Deductive Database (проект Университета Мельбурна). Последняя версия Aditi 2.0 beta.
Другие источники:
INTERNET SITES
1. Открытые системы
2. Intelligent Enterprise (Technology InfoCenter: Database)
BOOKS
1. Кузнецов С.Д. Основы современных баз данных. 1997 PDF, DJVU
2. Д. Крёнке. Теория и практика построения баз данных. 2003. DJVU
Продолжение следует...
Last edited by a moderator: