Avaleht
uus teema   vasta Tarkvara »  WWW »  KUSTUTADA: mysql laused olem-seos diagrammi järgi märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
raido357
HV veteran

liitunud: 26.09.2002




sõnum 09.12.2008 20:25:44 KUSTUTADA: mysql laused olem-seos diagrammi järgi vasta tsitaadiga

Tere,

kuna ei ole andmebaaside alal väga tugev, sooviks natuke abi. On ehk keegi nii hea ja tekitab create table laused järgnevale seosele.

Spoiler Spoiler Spoiler


Tänan icon_smile.gif


viimati muutis raido357 19.12.2008 15:53:09, muudetud 1 kord
Kommentaarid: 78 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 70
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 09.12.2008 21:58:59 vasta tsitaadiga

Eriti su joonisest aru ei saa, kuid kui tahad tabelit, kus oleksid õpilased ja vanemad siis selle saad nii.

CREATE TABLE kool (
id int(11) NOT NULL auto_increment,
opilased text NOT NULL,
vanemad text NOT NULL,
PRIMARY KEY (id)
) TYPE=MyISAM;

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
raido357
HV veteran

liitunud: 26.09.2002




sõnum 09.12.2008 22:04:45 vasta tsitaadiga

Tegu peaks olema siis M:M seosega, vähemalt nii on mulle õpetatud.

õpilase ja vanemate vahel on lingitabel, milles peaksid olema kasutusel foreign key'd. vms.
Kommentaarid: 78 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 70
tagasi üles
vaata kasutaja infot saada privaatsõnum
troglodyte
Kreisi kasutaja
troglodyte

liitunud: 09.08.2002




sõnum 09.12.2008 23:16:15 vasta tsitaadiga

Mingi abi tabel peab jah kasutusel olema, kuid täpse tabeli definitsiooni jaoks oleks vaja ka Õpilane ja Vanemad tabelite definitsiooni teada.

NB: MySQL-i puhul pead MyISAM tabeli tüübi asemel näiteks INNODB-d kasutama, kuna MyISAM ei toeta foreign key constrainte.

_________________
ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn
Kommentaarid: 34 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 34
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
ref
Kreisi kasutaja

liitunud: 10.08.2003




sõnum 19.12.2008 12:29:23 vasta tsitaadiga

MySQLi kood:
Spoiler Spoiler Spoiler

Muude süsteemide jaoks peaksid põhimõtteliselt sobima sarnased lausendid, AUTO_INCREMET asemel tuleb mõni sequence tekitada ja see külge pookida, ning engine=innodb osa võib normaalse andmebaasisüsteemi (PostgreSQL, Oracle, SQLite) puhul ära unustada icon_wink.gif

Ja üldiselt, kui sa juba kasutad mõnd korralikku modelleerimistarkvara siis sellel on alati juures mingi vidin, mis võimaldab sul SQL lausendid olemasolevast mudelist genereerida (kui ei genereeru on mudel vale!).
Kommentaarid: 17 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 15
tagasi üles
vaata kasutaja infot saada privaatsõnum
Subu
HV veteran
Subu

liitunud: 16.10.2003




sõnum 19.12.2008 12:33:20 vasta tsitaadiga

see on natuke paha lugu kui semestri lõpus nii liihtsaid tabeleid ei oska koostada icon_razz.gif

http://www.tucows.com/preview/362977 Qsee superlite , tasuta ja enam vähem proge.
Kommentaarid: 60 loe/lisa Kasutajad arvavad:  :: 2 :: 0 :: 56
tagasi üles
vaata kasutaja infot saada privaatsõnum
daman
Kreisi kasutaja

liitunud: 05.11.2001




sõnum 19.12.2008 13:23:10 vasta tsitaadiga

ref-i kood natuke kahtlane, M:M seoste hoidmise tabelis ei poea eraldi primaarvõtme välja defineerima, primaarvõtmeks määrata seostetabeli id-d.

Spoiler Spoiler Spoiler

_________________
Täna on see homme, mida sa eile kartsid.
Kommentaarid: 47 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 44
tagasi üles
vaata kasutaja infot saada privaatsõnum
ref
Kreisi kasutaja

liitunud: 10.08.2003




sõnum 19.12.2008 13:51:55 vasta tsitaadiga

daman, tõesti, ei pea, AGA päris mitmeaastane kogemus MySQL andmebaasiga (mille maht pole teps mitte väike) on näidanud, et päring jookseb kiiremini, kui mitu-mitu seosetabelil on eraldi primaarvõti ja mõlemad välisvõtmed on ERALDI indekseeritud (manuaal ja MySQL AB ekspert soovitavad mõlemad teha ühisindeks, kuid paari miljoni kirje juures tuli juba poole sekundiline vahe päringusse...).
Kuigi jah, tõepoolest, SQL standardi järgi võttes on sul õigus, nii on ka elegantsem (kahjuks on mulle igapäevane töö külge jäänud icon_wink.gif)
Kommentaarid: 17 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 15
tagasi üles
vaata kasutaja infot saada privaatsõnum
raido357
HV veteran

liitunud: 26.09.2002




sõnum 19.12.2008 15:52:57 vasta tsitaadiga

Unustasin selle teema täielikult siin, sain oma asjadega siiski ise hakkama, lõpuks hakkas koitma thumbs_up.gif

Võib teema kustutada minupoolest.
Kommentaarid: 78 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 70
tagasi üles
vaata kasutaja infot saada privaatsõnum
daman
Kreisi kasutaja

liitunud: 05.11.2001




sõnum 19.12.2008 23:15:08 vasta tsitaadiga

Mh, ma mõtlen seda, et tegelikult, teoreetiliselt küll, ei ole indeksi ehitus sugugi aeglasem kui kasutada rohkem kui ühte välja. Prakika võib teinekord olla mitte nii mustvalge ja kuna ma kasutan MysQLi suht vähe, kuna ei pea teda just eriti tõsiseltvõetavaks andmebaasisüsteemiks, siis ma ei oska praktilise koha pealt kaasa rääkida icon_smile.gif
_________________
Täna on see homme, mida sa eile kartsid.
Kommentaarid: 47 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 44
tagasi üles
vaata kasutaja infot saada privaatsõnum
tanzanite
HV kasutaja
tanzanite

liitunud: 13.05.2006




sõnum 22.12.2008 12:39:23 vasta tsitaadiga

Andmebaasi terviklikkus/rikkumatus on reeglina olulisem kui need lisasekundid. Kui seos korduda ei või siis ei tohiks seda ka lubada.
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  WWW »  KUSTUTADA: mysql laused olem-seos diagrammi järgi
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.