Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

relacija 1:1 u MyISAM-u (MySQL)

[es] :: MySQL :: relacija 1:1 u MyISAM-u (MySQL)

[ Pregleda: 1721 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Sasko69
Sasko Jovanovic

Član broj: 188293
Poruke: 8
*.ptt.rs.



Profil

icon relacija 1:1 u MyISAM-u (MySQL)14.03.2009. u 19:17 - pre 183 meseci
Molim Vas da mi pomognete oko uspostavljanja relacije 1:1 u MyISAM -u (MySQL).
Nije mi jasno kako uspostaviti relaciju bez FOREIGN KEY-a.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.xdsl.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: relacija 1:1 u MyISAM-u (MySQL)14.03.2009. u 20:30 - pre 183 meseci
ako hoces da napravis constraint onda ti treba foreign key, ako samo hoces da napravis relaciju .. ne treba ti ...

na primer 1:1

Code:

mysql> create table t2 (kola_id int primary key, kola_ime char(30)) engine=myisam;
Query OK, 0 rows affected, 2 warnings (0.00 sec)

mysql> create table t3 (kola_id int primary key, kola_boja char(30)) engine=myisam;
Query OK, 0 rows affected, 2 warnings (0.01 sec)

mysql> insert into t2 values (1, 'zelenko'), (2, 'sarenko'), (3, 'ladisa');
Query OK, 3 rows affected (0.00 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql> insert into t3 values (1, 'zeleno'), (2, 'sareno'), (3, 'belo');
Query OK, 3 rows affected (0.00 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql> select t2.kola_id, t2.kola_ime, t3.kola_boja from t2 join t3 using (kola_id);
+---------+----------+-----------+
| kola_id | kola_ime | kola_boja |
+---------+----------+-----------+
|       1 | zelenko  | zeleno    | 
|       2 | sarenko  | sareno    | 
|       3 | ladisa   | belo      | 
+---------+----------+-----------+
3 rows in set (0.00 sec)

mysql> select t2.kola_id, t2.kola_ime, t3.kola_boja from t2 join t3 on (t2.kola_id = t3.kola_id);
+---------+----------+-----------+
| kola_id | kola_ime | kola_boja |
+---------+----------+-----------+
|       1 | zelenko  | zeleno    | 
|       2 | sarenko  | sareno    | 
|       3 | ladisa   | belo      | 
+---------+----------+-----------+
3 rows in set (0.00 sec)

mysql> select t2.kola_id, t2.kola_ime, t3.kola_boja from t2,t3  where t2.kola_id = t3.kola_id;
+---------+----------+-----------+
| kola_id | kola_ime | kola_boja |
+---------+----------+-----------+
|       1 | zelenko  | zeleno    | 
|       2 | sarenko  | sareno    | 
|       3 | ladisa   | belo      | 
+---------+----------+-----------+
3 rows in set (0.00 sec)




jesi to hteo ? top ti je 1:1 .. ali NEMAS CONSTRAINT .. znaci .. moras da vodis racuna o referencijalnom integritetu programski

Code:

mysql> delete from t3 where kola_id = 2;
Query OK, 1 row affected (0.00 sec)

mysql> select t2.kola_id, t2.kola_ime, t3.kola_boja from t2 join t3 using (kola_id);
+---------+----------+-----------+
| kola_id | kola_ime | kola_boja |
+---------+----------+-----------+
|       1 | zelenko  | zeleno    | 
|       3 | ladisa   | belo      | 
+---------+----------+-----------+
2 rows in set (0.00 sec)

mysql> select t2.kola_id, t2.kola_ime, t3.kola_boja from t2 left outer join t3 on (t2.kola_id=t3.kola_id);
+---------+----------+-----------+
| kola_id | kola_ime | kola_boja |
+---------+----------+-----------+
|       1 | zelenko  | zeleno    | 
|       2 | sarenko  | NULL      | 
|       3 | ladisa   | belo      | 
+---------+----------+-----------+
3 rows in set (0.00 sec)



dakle - nema nista sto te sprecava da narusis referencijalni integritet ..

ako ti je bitno da zadrziz referencijalni integritet onda mozes da ga nametnes ili u svojoj aplikaciji ili u mysql-u .. (evo stize objasnjenje samo da ga nacukam)




[Ovu poruku je menjao bogdan.kecman dana 14.03.2009. u 21:55 GMT+1]
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.xdsl.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: relacija 1:1 u MyISAM-u (MySQL)14.03.2009. u 20:54 - pre 183 meseci

nadjoh da imamo vec objasnjano na mysql sajtu: http://dev.mysql.com/tech-reso...ql-enforcing-foreign-keys.html

dakle, objasnjenje kako da odradis referencijalni integritet triggerima
 
Odgovor na temu

[es] :: MySQL :: relacija 1:1 u MyISAM-u (MySQL)

[ Pregleda: 1721 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.