Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 01:57 27.06.24 
Компютри и Интернет
   >> Бази данни
Всички теми Следваща тема *Кратък преглед

Тема Как се прави релация m:nнови  
Авторamah (Нерегистриран)
Публикувано14.10.06 00:34



кажете как се прави релация m:n или поне от къде мога да го прочета. Мерси предварително





Тема Re: Как се прави релация m:n [re: amah]  
АвторHacko (Нерегистриран)
Публикувано15.10.06 12:38



Най-полезно за теб ще е ако сам се сетиш. Или поне да помислиш по въпроса.

А иначе ако искаш да научиш "верния" отговор не се ли сещаш как можеш да разбереш? Чувал ли си за гугъл?



Тема Re: Как се прави релация m:nнови [re: amah]  
Автор salle (един такъв)
Публикувано16.10.06 09:52



Ето го отговорът на твоя въпрос

CREATE TABLE m_n (m INT, n INT)

Разбира се не е това което искаш да знаеш, но е точен отговор на това което питаш



Подсказване: Това което в теорията на релационните бази данни се нарича "релация" в практиката се нарича "таблица"



Тема Re: Как се прави релация m:nнови [re: amah]  
Автор Killy-ManJarro (Висок)
Публикувано16.10.06 13:47



Просто е и може да се прочете във всяка книга за релационни бази, но за да не се мъчиш, ще ти помогна.
Ако имаш една таблица "а" и в нея първичния ключ е полето "id_a" и друга таблица "b", в която първичния ключ е полето "id_b", конструираш трета таблица (някои хора й викат "croos-table" и я бележат с х) "x_ab", в която имаш полета "id_a" и "id_b", като връзката на таблицата "a" с "x_ab" и на "b" с "x_ab" е едно към много.



Тема Re: Как се прави релация m:nнови [re: salle]  
Автор wqw (АзСъмЖив)
Публикувано17.10.06 17:30



mind this: relation != relationship

Но и двете имат склонност да ги превеждат като релация!

cheers,
</wqw>




Тема Re: Прав си ;)нови [re: wqw]  
Автор salle (един такъв)
Публикувано17.10.06 17:41



Аз затова предпочитам да използвам "таблица" и "отношение"


Обаче много хора не осъзнават, че всяка една таблица сама по себе си описва отношения



От теорията (на английски):

In its simplest sense a relational data base is a collection of relations, and a relation is, for most purposes, a table, i.e. a two-dimensional structure.

The term relation is a mathematical term which means a two-dimensional table which is not homogeneous in its rows, ie, the number of rows (unlike the number of columns) is not fixed.

Преведено най-аматьорски:

Грубо казано една база данни и колекция от релации а релацията в най-общ смисъл е таблица т.е. двумерна структура.

Терминът релация е математимески термин който означава двумерна таблица която е нехомогенна по отношение на редовете т.е. броят на редовете не е фиксиран (за разлика от броя на колоните)

Редактирано от salle на 17.10.06 18:54.



Тема Re: Прав си ;)нови [re: salle]  
Автор wqw (АзСъмЖив)
Публикувано17.10.06 18:40



>> The term relation is a mathematical term which means a two-dimensional table which is not homogeneous in its rows, ie, the number of rows (unlike the number of columns) is not fixed. <<

Това е много "произволна" дефиниция на релация. Въобще трябва да се тръгне мако по-отдалеч за да изясним понятието.

Най-прост пример за релация е ">". Нека разгледаме релацията "X > Y" в R^2 (полето на реалните числа, двумерно). Ето една графика (правена в mspaint):



Множеството дефинирано от релацията "X > Y" е безкрайно и е това, което е оцветено в синьо. Тази релация в табличен вид би се представила като таблица с две колони A (X FLOAT, Y FLOAT) и би съдържала "доста" записвания, като за всеки ред щеше да е изпълнено условието X > Y (мисли си за CHECK CONSTRAINT).

В тази връзка двумерните релации можем лесно да си представим, защото можем да ги нарисуваме на лист. Нека в таблица A имаме два реда -- (1, 4) и (2, 1). Графиката щеше да представлява просто две точки в R^2 :-))

По-интересно става с n-мерните релации.

Нека имаме таблица B (C1 INT, C2 FLOAT, C3 VARCHAR(50)). Трите колони определят тримерно пространство, с допустими стойности на векторите (tuples) от него по типовете данни на колоните. За да може вектор (a, b, c) да е от това пространство, трябва a да e INT, b да е FLOAT и c да е VARCHAR(50).

Таблицата B дефинира релация в това пространство с условието (предикат) "вектор (a, b, c) принадлежи на множеството от редовете на B". Редовете на B можем да представим като оцветени точки в това тримерно пространство. Оказва се, че съдържанието на B определят една (крайна) релация в това тримерно пространство.

Колкото повече колони има една таблица, в толкова "повече мерно" пространство тя дефинира релация.

Така че връзката между таблица и релация е "директна" -- въпрос на гледна точка. Много хора все още предпочитат да мислят за таблицата като масив или като файл, а за RDBMS като persistent storage (java? serialization? BLOB-ове?:-)).

В тази връзка, специално за теб salle имам предложение: на бюрото ми седи An Introduction to Database Systems, 8th edition, C.J.Date, оригинална, доставка от amazon. Ако не ти е попадала, можем да измислим нещо. Крайно време е MySQL да "отлепи" малко :-))

cheers,
</wqw>




Тема Re: Прав си ;)нови [re: wqw]  
Автор salle (един такъв)
Публикувано17.10.06 19:11



Е аз винаги съм казвал, че за релационните бази данни и SQL няма никаква нужда да разбираш от програмиране, но е много по-ценно да имаш солидна математическа потгодовка



Колкото до това последното не го разбрах въобще:

"В тази връзка, специално за теб salle имам предложение: на бюрото ми седи An Introduction to Database Systems, 8th edition, C.J.Date, оригинална, доставка от amazon. Ако не ти е попадала, можем да измислим нещо. Крайно време е MySQL да "отлепи" малко :-)) "

За какво измисляне и за какво отлепяне иде реч?

Някъде из кашоните ако се разровя ще намеря едно издание на An Introduction to Database Systems, C.J.Date от студентските ми години т.е. 80-те на миналия век.



Тема Re: Прав си ;)нови [re: salle]  
Автор wqw (АзСъмЖив)
Публикувано17.10.06 20:28



Ok, значи вече със сигурност знам, че има поне един dev в MySQL-ския тийм който я е чел :-))

No offence, nothing personal. Keep up the good work!

cheers,
</wqw>
p.s. Мислиш ли, че горното обяснение е много математическо за програмисти?




Тема Re: Прав си ;)нови [re: wqw]  
Автор salle (един такъв)
Публикувано17.10.06 21:48



Ще се изненадаш да научиш колко от програмистите на MySQL са сериозно подковани теоретично. Аз съм прост практик в сравнение с тях а и от години не се числя при програмистите.

p.s. Мислиш ли, че горното обяснение е много математическо за програмисти?

Зависи за кои програмисти.

Моята идея е, че за да навлезеш в дебрите на SQL математическата потготовка помага много повече от навиците в програмирането.

Или с по-прости думи SQL е повече математика отколкото програмиране . Ако е за заяждането разбира се може да се спори, че SQL е програмен език но не е процедурен такъв но това е са подробности.




Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.