Vazby mezi tabulkami s programem MS SQL – MS SQL – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Vazby mezi tabulkami s programem MS SQL – MS SQL – Fórum – Programujte.comVazby mezi tabulkami s programem MS SQL – MS SQL – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
SQL newbie
~ Anonymní uživatel
5 příspěvků
23. 4. 2013   #1
-
0
-

Dobrý den,


ze školy zadání projektu na evidenci potravin a drogerie v domácnosti. Potřeboval jsem udělat vazby mezi Druhem potraviny, Značkou drogerií, Názvu obchodu. Přiřadil jsem k těmto položkám primární klíče, jenže při vytváření vazeb programem, mi odmítá diagram uložit, protože tam dochází k nějakému konfliktu s klíči.
Děkuji mnohokrát za případné rady a pomoci.

Create database Projekt

Use Projekt

Create table Potraviny(
PotravinyID int identity not null,
Nazev varchar(30) not null,
DruhID varchar(15) primary key not null,
Misto_nakupu varchar(15) not null,
Mnozstvi_ks_nebo_dkg decimal not null,
)

Create table Drogerie(
DrogerieID int identity not null,
Nazev  varchar(30) not null,
ZnackaID varchar(15) primary key not null,
Misto_nakupu varchar(15) not null,
Mnozstvi int not null,
)

Create table Obchody(
ObchodID int identity not null,
Nazev_obchodu varchar(15) primary key not null,
Otevreno_OD time(0) not null,
Otevreno_DO time(0) not null,
Vzdalenost_v_km int not null,
)

Create table Slevy(
SlevyID int identity primary key not null,
Nazev_obchodu varchar(15),
DruhID varchar(15),
ZnackaID varchar(15),
Velikost_v_procentech int not null,
Plati_OD date not null,
Plati_DO date not null
)

Insert into Potraviny(Nazev,DruhID,Misto_nakupu,Mnozstvi_ks_nebo_dkg)values
('Rajče','Zelenina','Kaufland',10),
('Okurek','Zelenina','Lidl',8),
('Paprika','Zelenina','Kaufland',3),
('Rohlíky','Pečivo','Kaufland',15),
('Jablka','Ovoce','Lidl',0),
('Chléb','Pečivo','Kaufland',1),
('Housky','Pečivo','Lidl',10),
('Vejce','Ostatní','Tesco',20),
('Jahody','Ovoce','Tesco',2),
('Šunka','Maso','Penny-Market',0),
('Krkovička','Maso','Tesco',20),
('Klobásy','Maso','Penny-Market',4),
('Pomeranče','Ovoce','Kaufland',0),
('Limonáda','Pití','Lidl',0),
('Sirup','Pití','Kaufland',2),
('Nanuk','Ostatní','Tesco',4),
('Polárkový dort','Ostatní','Tesco',2),
('Jogurt','Ostatní','Kaufland',5),
('Banány','Ovoce','Penny-Market',6)

Insert into Drogerie(Nazev,ZnackaID,Misto_nakupu,Mnozstvi)values
('Deodorant','Nivea','Penny-Market',2),
('Antiperspirant','Axe','Lidl',3),
('Make-up','Vichy','Tesco',0),
('Parfém','Puma','Kaufland',1),
('Toaletní papír','Toalex','Tesco',5),
('Sprej proti hmyzu','Zmizex','Lidl',1),
('Čistič prachu','Pronto','Kaufland',0),
('Krém na ruce','Indulona','Tesco',2),
('Voda po holení','Gillete','Kaufland',2),
('Holící strojek','Wilkinson','Lidl',0)

Insert into Obchody(Nazev_obchodu,Otevreno_OD,Otevreno_DO,Vzdalenost_v_km)values
('Kaufland','08:00','17:00','13'),
('Lidl','07:00','20:00','30'),
('Tesco','05:00','23:00','20'),
('Penny-Market','09:00','21:00','9')

Insert into Slevy(Nazev_obchodu,DruhID,ZnackaID,Velikost_v_procentech,Plati_OD,Plati_DO)values
('Kaufland','Pečivo','Puma',10,'1.1.2013','2.1.2013'),
('Tesco','Ostatní','Vichy',15,'6.23.2014','8.2.2014'),
('Lidl','Ovoce','',5,'9.28.2013','5.26.2013'),
('Penny-Market','Ovoce','',10,'2.24.2013','5.9.2014'),
('Tesco','Maso','Indulona',25,'5.25.2014','5.3.2015'),
('Lidl','Zelenina','Gillete',5,'9.20.2013','10.20.2013'),
('Kaufland','Zelenina','Pronto',30,'5.20.2013','6.20.2013'),
('Penny-Market','Maso','',15,'7.9.2013','8.15.2013'),
('Tesco','Ovoce','Toalex',20,'7.6.2013','8.8.2013'),
('Lidl','Pečivo','Wilkinson',10,'1.1.2013','2.1.2013'),
('Kaufland','Ovoce','',35,'6.6.2013','7.6.2013'),
('Penny-Market','Maso','',50,'6.1.2013','8.1.2013')
Nahlásit jako SPAM
IP: 217.112.167.–
Reklama
Reklama
SQL newbie
~ Anonymní uživatel
5 příspěvků
23. 4. 2013   #2
-
0
-

#1 SQL newbie
Omlouvám se, zapomněl jsem dodat, že ta vazba, jak jsem uváděl měla být s tabulkou Slevy.

Nahlásit jako SPAM
IP: 217.112.167.–
P
~ Anonymní uživatel
193 příspěvků
24. 4. 2013   #3
-
0
-

Primarni klic musi byt unikatni. V tabulce Potraviny jsi dal primarni klic na sloupec DruhID a v tom prvnim insertu unikatnost porusujes - davas tam nekolikrat 'Zelenina', 'Pecivo' atd. Stejny problem mas u Drogerie - ZnackaID.

Jestli chces kategorizovat potraviny podle druhu a drogerii podle znacek, tak si udelej tabulky DruhPotravin, ZnackaDrogerie. Na ne bude reference z tabulek Potraviny, Drogerie a taky z tabulky Slevy.

Nahlásit jako SPAM
IP: 85.93.116.–
SQL newbie
~ Anonymní uživatel
5 příspěvků
24. 4. 2013   #4
-
0
-

Paráda, děkuji moc za pomoc, už to jede jak má :)

Nahlásit jako SPAM
IP: 217.112.167.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 4 hosté

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý