Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

РБД без взаимосвязанных таблиц???


Страницы:   1 2 3 4

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]

Удалено модератором


Страницы:   1 2 3 4

Наверх

Титульная страница Поиск, карта сайта Написать письмо