![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
РБД без взаимосвязанных таблиц???
Alexandr1 © (2005-11-22 17:34:00)Подскажите, является ли БД реляционной, если некоторые таблицы не взаимосвязанны (не содержат внешних ключей)? Если можно, то укажите ссылки на литературу.
Заранее благодарен.
msguns (2005-11-23 17:49:00) [1]>dioman © (23.11.05 17:42) [64]
>РБД и РСУБД - это совершенно разные вещи... и вопрос был именно по РБД.
Неужели ?
Ну тогда ищи другого собеседника ;)
dioman (2005-11-23 17:42:00) [2]
> msguns © (23.11.05 17:36) [63]
> Правильнее говорить не "РБД", "РСУБД".
РБД и РСУБД - это совершенно разные вещи... и вопрос был именно по РБД.
вот тут уж точно....
как сказал __гфф - РТФМ.
msguns (2005-11-23 17:36:00) [3]>dioman © (23.11.05 17:23) [62]
Зачем кричать-то ?
Я чуть ли не в каждом посте упоминал о некоем "посреднике" между самими данными и программой, их пользующей. Естественно, не бывает яйца без курицы. Правильнее говорить не "РБД", "РСУБД".
Еще раз повторяю - Эксель - такой же РСУБД, как и блокнот, но с существенно бОльшими возможностями. Тогда уж и Ворд - это РСУБД, и Аутлук, да и вообще весь офис ;)
Если стоишь на своем - боже мой, да на здоровьичко !
;)
dioman (2005-11-23 17:23:00) [4]
> msguns © (23.11.05 17:04) [60]
какие форматы???? какой доступ??? какая упаковка и защита???
опять 25!!!
это уже технологии, фичи....
мы говорим о реляционной структуре данных! Является ли она таковой!!!
В тетрадке я нарисую таблички!!! и скажу что это РБД.. Вы мне начнете доказывать что это не так потому что она не упаковывается ?? и к ней нельзя обратиться запросом?
Ексель тоже самое!
Другой вопрос о СУБД!!! вот современные СУБД работающие с реляционными данными, предоставляют возможности таковые.
ини файл это представление данных в виде объект-свойство... я говорил о них как это реляционных данных !!! конечно это не СУБД... (в которой можно делать все что ты описал)
А когда появились определения реляционные бд врядли существовали средства упаковки и защиты, просто были описаны их необходимые условия (кторые Вы кстати сами и описывали)
Если Вы хотели приветси пример нереляционных данных, то можно сказать о дереве (иерархические данные), или сети.. короче Граф. Вот Граф - это хороший пример
Вольный Стрелок (2005-11-23 17:17:00) [5]невольно вспоминется Свифт с его остроконечниками и тупоконечниками :)
msguns (2005-11-23 17:04:00) [6]>dioman © (23.11.05 15:59) [52]
>а чем ini файл не РБД???
Во-первых, у ini-файла нет четкой структуры, т.е. жестких правил представления, хранения и извлечения информации из последовательности записанных на магнитном носителе данных. Ini-файл "разберет" только та программа, которая его писала либо другие, которые будут абсолютно точно осведомлены об этом. Этот файл, в отличие от реляционных таблиц, может быть читаем только последовательно, строчка за строчкой.
Во-вторых, к этим данным нельзя обратиться никак иначе, чем только как к строчкам. Нет и не может быть "внешнего" аппартата, универсально осуществляющего доступ к ini-файлам как форматуБД
В-третьих, ini-файл не содержит никаких средств упаковки и защиты. Его можно свободно читать и смыслово редактировать из любого софта, работающего с текстовиками.
В-четвертых, в самом ini-файле нет никаких "следов" отношений, "внутренне" определяющих связь между "метаданными" (заголовками) и собственно информацией.
Достаточно ?
Anatoly Podgoretsky (2005-11-23 16:56:00) [7]Вроде как пришли к согласию, остался только скользкий вопрос, что считать отношением. Но это еще на несколько дней споров.
Val (2005-11-23 16:17:00) [8]кстати, ответ на вопрос автора в любом случае "да", поскольку совсем не обязательно _все_ таблицы в базе должны быть между собой связаны :)
msguns (2005-11-23 16:16:00) [9]>__гфф (23.11.05 15:59) [53]
> я всегда считал, что не поле (столбец), а таблица является отношением
Ну, люди очень много веков считали Землю плоской. И не были от этого несчастливы ;) Таблица - это тоже отношение.
Представь себе модель "Подразделение", хранящееся в таблице РБД. Так вот, каждый работник, описанный отношениями "Фаимлия", "Имя", "Отчество" и т.д. представляет в этой таблице 1 запись и является таким образом отношением "работник". Вся же таблица целиком является отношением "Подразделение".
Т.е. изначально все сущности РБД - это нативные объекты или их характеристики (и то и другое - отношения), выраженные языком цифр и хранящиеся в строго определенном правилами данной РБД виде.
>и еще я не очень понял, про отличие экселя
Попробуй каким-то образом выбрать все строки таблицы, у которых в ячейках Axx значение не "пусто". Может, тогда будет понятнее ;))
__гфф (2005-11-23 16:16:00) [10]Удалено модератором
Примечание: Парень, наконец ты достиг своего, нападки на модератора прощения не имеют
Val (2005-11-23 16:13:00) [11]Удалено модератором
msguns (2005-11-23 16:06:00) [12]>Anatoly Podgoretsky © (23.11.05 15:52) [50]
>Этим страдают и современные программы.
Не совсем так. "Страдают" программы, написанные бестолково либо в случае действительно "разрушительных" изменений в топологии БД.
Во избежание этого и придумали люди "SQL-server" вместе со всеми его хранимками, триггерами, процедурами, функциями и т.д.
При грамотно спроектированной модели БД и "правильном" пользовательском интерфейсе "клиент" обращается не к таблицам БД, а к элементам логики сервера, описанным во всей этой фигне (ХП, триггера и т.д.). Практически любое изменение в таблицах БД, корректно отображенное в его логике, для "клиента" пройдет вообще незамеченным. Т.е. мы получаем модель, где в идеале хранение данных совершенно отделено от их "восприятия" (отображения). Что, собственно, и ставилось целью "изобретателями" РДБ ;)
__гфф (2005-11-23 15:59:00) [13]>> Строго научно в РБД любое поле любой таблицы является отношением (relation).
msguns, я всегда считал, что не поле (столбец), а таблицаявляется отношением
и еще я не очень понял, про отличие экселя
dioman (2005-11-23 15:59:00) [14]
> msguns © (23.11.05 15:48) [47]
а чем ini файл не РБД???
есть имя объекта есть свойство (вот тебе 2 поля-отношения)... а все объекты (строки) обладают атомарностью.
msguns (2005-11-23 15:57:00) [15]В том же ADABAS (русская версия называлась СПЕКТР) для доступа к БД использовалась серия макрокоманд, которые непосредственно обращались к "ядру" СУБД, собственно и реализующему физический доступ к данным. Можно, не сильно поперечив истине, назвать эти макросы "методом доступа", а само ядро - "сервером". По крайней мере назначение этих сущностей было таково.
В "клиентских" программах (обычно на ассемблере для еэсок) осуществлялся вызов нужных функций СУБД посредством макрокоманд и полученная запись отправлялась функциональной программе (обычно на языке высокого уровня: Кобол, PL/I и т.д.). В обратном порядке передавались изменения. Языка запросов как такового не помню, зато были макрокоманды, выполняющие похожие действия (поиск, сортировка, групповая замена и т.д.)
Anatoly Podgoretsky (2005-11-23 15:52:00) [16]msguns © (23.11.05 15:48) [47]
При малейшем изменении "структуры" файла (таблицы) надо было корректировать тексты ВСЕХ программ, использующих его.
Этим страдают и современные программы.
dioman (2005-11-23 15:51:00) [17]
> msguns © (23.11.05 15:48) [47]
ну и к чему пришли??? ответ на главный вопрос
> Подскажите, является ли БД реляционной, если некоторые таблицы
> не взаимосвязанны (не содержат внешних ключей)? Если можно,
> то укажите ссылки на литературу.
ДА
Sergey13 (2005-11-23 15:48:00) [18]Удалено модератором
msguns (2005-11-23 15:48:00) [19]>Val © (23.11.05 15:21) [40]
>ля-ля-ля :)
Ля-ля не ля-ля, а доля правды есть.
Строго научнов РБД любое поле любой таблицы является отношением(relation).
По сабжу.
РБД "понимает" отношения в виде полей (колонок таблицы), одного смыслового назначения(упрощенно - типа) о единственном (атомарном) свойстве некоего объекта. Кстати в мануалах на англицком по некоторым буржуинским БД часто-густо вместо "Field" используется "Relation".
Чем в корне отличается от Экселя, у которого нет полей, зато есть ячейки, в которых можно хранить любую информацию о любом объекте или даже нескольких одновременно. Именно потому Эксель не "располагает" аппаратом манипулирования хранящимися в его таблицах данными обобщенно, что свойственно РБД.
Пример простейшей не РБД-базы - любой ini-файл. Та же База Данных, но вовсе не реляционная.
Понятие "реляционное" впервые встретил у Кнута, где он описывал "традиционное" на тот момент фиксированноеследование полей(опять же фиксированной длины), которое использовалось при хранении данных в файлах программами Cobol (на счет языка не уверен) и, естественно порядок и длину задавала программа, которые эти данные записывала. Программа-приемник данных должна была читать эти файлы и "разбирать" информацию в том же порядке, что и пишущая. При малейшем изменении "структуры" файла (таблицы) надо было корректировать тексты ВСЕХ программ, использующих его.
В РБД-модели самому файлу предшествует "заголовок" с описанием местоположения и типа полей и программы-клиенты (такого слова в той книжке еще не было) вовсе не обязаны были знать, ГДЕ ИМЕННО в записи находится определенное поле - они обращались к нему ПО ИМЕНИ. "Прослойка" (позже "движок", еще позже - "SQL-сервер") сама по заголовку находила смещение и длину поля и "поставляла" "клиенту" то, что надо.
И уже много позже появились те "отношения", о которых здесь речь: межтабличные, поддержки целостности, иерархические и т.д.
dioman (2005-11-23 15:47:00) [20]Удалено модератором