Вернуться   Дизайнерский форум » ВЕБ-ПРОГРАММИРОВАНИЕ » HTML, CSS, JavaScript

MySQL - relationship...

Обсуждение темы MySQL - relationship... в разделе HTML, CSS, JavaScript, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Как можно показать relationship между двумя таблицами (соединить по ключам)? Например в MS SQL, Access есть Relationship Diagram, где можно соединить PK (Primary ...


Закрытая тема
 
Опции темы
Старый 16.03.2005, 14:19   #1
Как можно показать relationship между двумя таблицами (соединить по ключам)?

Например в MS SQL, Access есть Relationship Diagram, где можно соединить PK (Primary Key) с FK (Foreign Key) и показать вид соединения (one-to-one, one-to-many). Вообще, как можно задать эти ключи?

Спасибо.
 
Старый 16.03.2005, 14:19
Ссылки
Старый 16.03.2005, 17:22   #2
Dis

мдя .... ты дучше книжечку про БД открылбы какую нить а не юзал "дружественный интерфейс мелкософта" ...
 
Старый 16.03.2005, 18:49   #3
chaynik, Не ну ты сравнил/ Ты лучше скажи что ты хочешь сделать конкретно ?
 
Старый 16.03.2005, 23:03   #4
chaynik, примерно так:

select table1_somefields, table2_somefilds from table1, table2 where что-то равно чему-то and table1_id=table2_id;

Или я ошибаюсь?
 
Старый 20.03.2005, 11:11   #5
Цитата:
Junkers:
chaynik, примерно так:

select table1_somefields, table2_somefilds from table1, table2 where что-то равно чему-то and table1_id=table2_id;

Или я ошибаюсь?
Нет, мне не соединение таблиц нужно, а задать PK и FK и внести referential integrity (по моему по русски будет "целостность ссылочных данных") между таблицами. Хотя спасибо за отклик.

Кстати, синтакс, который ты используешь уже устарел. В данном, SQL-92, он должен будет выглядеть так:
select table1_somefields, table2_somefilds from table1 inner join table2
on table1.fieldA=table2.fieldA;


Цитата:
Не ну ты сравнил/ Ты лучше скажи что ты хочешь сделать конкретно ?
Наверное я выразился недостаточно ясно, мне нужно было добавить PK и FK constraints в SQL скрипте. Хотя я уже знаю как ето делать:

Для PK:
alter table [table1 name]
add constraint any_name1 primary key (pk_field)


Для FK:
alter table [table2 name]
add constraint any_name2 foreign key (fk_field) references Table1(pk_field)


Цитата:
мдя .... ты дучше книжечку про БД открылбы какую нить а не юзал "дружественный интерфейс мелкософта" ...
мда, за совет конечно спасибо, а ты пока SQL скрипт напиши чтобы результат выглядел как на етой картинке, начитанный ты наш . Надеюсь за 15 минут управишься? Поясняю: Первый столбец ето один column (Name), дальше етот столбец разбивается на 3: Имя, Отечество, Фамилия. Надеюсь задача ясна?
 
Старый 21.03.2005, 08:51   #6
Цитата:
chaynik:
Кстати, синтакс, который ты используешь уже устарел. В данном, SQL-92, он должен будет выглядеть так:
select table1_somefields, table2_somefilds from table1 inner join table2
on table1.fieldA=table2.fieldA;
Ну да.. а про явное и не явное связывание знаем?

Цитата:
мда, за совет конечно спасибо, а ты пока SQL скрипт напиши чтобы результат выглядел как на етой картинке, начитанный ты наш . Надеюсь за 15 минут управишься? Поясняю: Первый столбец ето один column (Name), дальше етот столбец разбивается на 3: Имя, Отечество, Фамилия. Надеюсь задача ясна?
Это по твоему задача? Попробуй поюзать case средства и получишь свой скрипт в готовом виде за время равное набору полей.

Лысый добавил [date]1111385054[/date]:
Кстати, посмотрел внимательно на картинку... поле middle надо полагать отчество? Дело в том, что ФИО используется не во всех странах. В частности отчество точно есть в России (страны СНГ) и у мусульман. А вот в европе и штатах, это не так (про имигрантов не говорим). Собственно 2 последние строки на картинке это подтверждают. Жан Поль - это скорее имя. А van - это точно не отчество
Вот такие пирожки с котятами...
 
Старый 21.03.2005, 12:11   #7
Цитата:
Лысый:
Ну да.. а про явное и не явное связывание знаем?
А ты мне по английски термины назови, тогда смогу ответить знаю или нет. Дело в том, что книжки я на английском читаю. (-:

Цитата:
Это по твоему задача? Попробуй поюзать case средства и получишь свой скрипт в готовом виде за время равное набору полей.
Ето задача предназначена для тех, кто тратит своё драгоценное время на то, чтобы посоветовать "...прочитать книжки..."

Цитата:
Лысый добавил [date]1111385054[/date]:
Кстати, посмотрел внимательно на картинку... поле middle надо полагать отчество? Дело в том, что ФИО используется не во всех странах. В частности отчество точно есть в России (страны СНГ) и у мусульман. А вот в европе и штатах, это не так (про имигрантов не говорим). Собственно 2 последние строки на картинке это подтверждают. Жан Поль - это скорее имя. А van - это точно не отчество
Вот такие пирожки с котятами...
Ну да, молодец за догадливость, действия дейстивтельно происходят на территории USA, и поетому "middle" заданы странно: Поль и ван.

Да, ещё одно: "Все имена в таблице вымешленные и случайные совпадения с реальными лицами ничего общего с ними не имеют. (c)" То бишь нормальным языком: все имена созданы только для показательных целей.

А решать я уже решил, до того как спросил. Я тоже CASE-ом его решил, хотя признаюсь легко можно запутаться на усталую голову пытаясь решить за 2 минуты (конечно я имею в виду не в самой функции CASE). (-:
 
Старый 21.03.2005, 14:05   #8
Цитата:
chaynik:
А ты мне по английски термины назови, тогда смогу ответить знаю или нет. Дело в том, что книжки я на английском читаю. (-:
Пжаласта : natural join, specified join
 
Старый 22.03.2005, 22:07   #9
MySQL не поддерживает foreign_key
 
Старый 23.03.2005, 05:41   #10
Цитата:
Лысый:
Пжаласта : natural join, specified join
Natural join - ето обычные INNER JOIN, т.е. тот пример который и я и я Junkers привели. Разница в том, что его пример называется "старым" стандартом и ето единственый join, который поддерживает SQL-92 где соединение уточняется (specified) в "WHERE clause" (не знаю как "clause" по русски).

А specified join - ето по моему на каких условиях соединаются таблицы, т.е. где заданы условия соединения в FROM/WHERE/HAVING clause-ах.

chaynik добавил [date]1111546132[/date]:
Цитата:
Alkeeper:
MySQL не поддерживает foreign_key
MySQL - relational DBMS, поддереживающий стандарт SQL-92, так что он должен поддерживать PK и FK.

Цитата:
13.2.2. ALTER TABLE Syntax

ALTER [IGNORE] TABLE tbl_name
alter_specification [, alter_specification] ...

alter_specification:
ADD [COLUMN] column_definition [FIRST | AFTER col_name ]
| ADD [COLUMN] (column_definition,...)
| ADD INDEX [index_name] [index_type] (index_col_name,...)
| ADD [CONSTRAINT [symbol]]
PRIMARY KEY [index_type] (index_col_name,...)
| ADD [CONSTRAINT [symbol]]
UNIQUE [index_name] [index_type] (index_col_name,...)
| ADD [FULLTEXT|SPATIAL] [index_name] (index_col_name,...)
| ADD [CONSTRAINT [symbol]]
FOREIGN KEY [index_name] (index_col_name,...)
[reference_definition]
Цитата взята из оффициального сайта MySQL.net
 
Старый 23.03.2005, 05:41
Закрытая тема




Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
mySQL iDeViL ASP, Perl, PHP и MySQL 8 31.01.2011 21:30
MySQL 74ivan74 Кальянная 0 16.10.2010 14:33
PHP + MySQL бан ip Tigran ASP, Perl, PHP и MySQL 2 11.06.2010 17:23
MySQL Razrushitel ASP, Perl, PHP и MySQL 3 18.09.2005 16:18
PHP и Mysql vision HTML, CSS, JavaScript 0 18.07.2003 08:59


Текущее время: 04:59. Часовой пояс GMT +4.

Реклама на форуме Условия размещения рекламы
Биржа ссылок Заработай на сайте!
Дизайнерский форум