Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit

Zdravím, mohl by mi někdo poradit s SQL serverem? Kde a jaký stáhnout program, jak vytvořit tabulky (na co kde mám kliknout) a nějaké funkce? Díky moc!!!
Offline
Ahoj,
Předpokládám, že ti jde o databázi.
Nejdříve si stáhni Visual Studio, poté nainstaluj a spusť. Dej: "View" a tam "Server [Database] Explorer". Klikni pravým a dej: "Data Connections" a tam vyber :"Create New SQL Server Database" Zakřížkuj "Use Windows Authentication" a potvrď. Pak vesele přidávej data do tabulky.
Pro funkce a řetězce okolo SQL doporučuji si prostudovat pár ebooků.
Třeba: "SQL Kompletní kapesní průvodce" (Nechci sem dávat odkazy na warez
A Pokud ti jde pouze o instalaci SQL Serveru doporučuji tento video tutorial:
http://www.youtube.com/watch?v=d03elW5O … re=related
V Případě potřeby mne kontaktuj pomoci PM, rád ti poradím
Offline
Instalovat Visual Studio jen kvuli Database Exploreru pro pristup k SQL Serveru je dost zbytecny, staci si stahnout SQL Server Management Studio (Express zdarma), ktery poskytuje navic mnohem lepsi rozhrani a spoustu nastroju, ktery ve VS nejsou...
Otazka je, jestli opravdu tazatel myslel pod SQL Server konkretne MSSQL, ale i kdyby ne, tak myslim, ze instalace i pouziti jsou dost user friendly i pro zacatecnika...
Offline

↑ Jookyn: Mám udělat asi tři tabulky, které mezi sebou budou komunikovat. Např. Tabulky jízd. Zeptat se, kdo jel nějaký den, kdo najel více jak 100km apod. Vůbec si nevím rady. Zkoušel jsem najít nějaký ten SQL server, ale stále to na mě mluví anglicky a to je můj problém, ale mám toho víc. Nevím si prostě rady. Děkuji za jakoukoliv pomoc.
Offline

↑ LRJ1:
Neřekl jsi nám o jakém SQL serveru mluvíš, jestli Microsoft SQL server nebo MySQL, Postgres nebo nějaký jiný. Je jich celá řada (snad víš co se učíte)
Jestli jenom potřebuješ vědět jestli máš ty tabulky a dotazy správně, tak je sem napiš a někdo ti je zkontroluje.
Můžeš použít např. i Microsoft Access a budeš to mít i v češtině (jestli máš české Microsoft office), to by asi bylo nejjednoduší.
příklad (můžeš si to samozřejmě udělat zcela jinak, tohle je jenom příklad (řidič např. nemůže být na více místech najednou :) )) vytvoření tabulky na Microsoft SQL serveru : jizda, seznamJizd a ridic
tabulka JIZDA bude mít atributy:
id_jizda, - primární klíč
datum_jizdy,
pocetKilometru
tabulka SEZNAMJIZD bude mít atributy:
id_jizda, id_ridic - oba atributy budou dohromady primární klíč a zároveň budou cizími klíči,
kde id_jizda bude propojen s tabulkou JIZDA a id_ridic s tabulkou RIDIC
tabulka RIDIC bude mít atributy:
id_ridic, - primární klíč
jmeno,
prijmeni
Nyní již vytvoření tabulek
CREATE TABLE jizda( id_jizda INT PRIMARY KEY, datum_jizdy DATETIME, pocetKilometru INT )
CREATE TABLE seznamJizd ( id_jizda int, id_ridic int, CONSTRAINT PK_jr PRIMARY KEY (id_jizda,id_ridic), CONSTRAINT FK_id_jizda FOREIGN KEY (id_jizda) REFERENCES jizda(id_jizda), CONSTRAINT FK_id_ridic FOREIGN KEY (id_ridic) REFERENCES ridic(id_ridic) )
CREATE TABLE ridic( id_ridic int PRIMARY KEY, jmeno VARCHAR(50), prijmeni VARCHAR(50) )
příklad selectu: vypíšeme jméno a příjmení řidičů, kteří najeli 200km
SELECT ridic.jmeno, ridic.prijmeni
FROM jizda INNER JOIN
seznamJizd ON jizda.id_jizda = seznamJizd.id_jizda INNER JOIN
ridic ON seznamJizd.id_ridic = ridic.id_ridic
WHERE (jizda.pocetKilometru = 200)Offline

↑ gladiator01: Díky moc. Nakonec se mi to podařilo nainstalovat a vytvořit jednu databázi a v ní jednu tabulku. Jak vytvořím do té samé databáze další tabulku a jak tabulky zobrazit a psát do nich? Děkuji.
Offline

co se ti podařilo nainstalovat?
tabulku vytvoříš stejně jako tu první. nevím jak jsi jí vytvořil (ručně nebo pomocí CREATE TABLE). mohl by jsi být trochu detailnější?
data zapíšeš příkazem: INSERT INTO table_name (sloupec1, sloupec2, sloupec3,...)
VALUES (hodnota1,hodnota2, hodnota3,...)
Najdi si manuál nebo nápovědu a postupuj podle toho.
Offline

↑ gladiator01: Nainstaloval jsem si Microsoft SQL server 2008 Management studio. Už jsem vytvořil tři tabulky, jak mám za úkol. Popořadě: vytvořil jsem databázy Kniha jízd, v té jsem vytvořil jednu tabulku pomocí příkazu Create Table a další dvě tabulky ručně. Pod databází Kniha jízd mám tedy tři tabulky pod jmény: Tables->dbo.Jízda, dbo.Řidič, dbo.Seznam jízd. Teď bych potřeboval z těcto tabulek vybrat např.: Kdo který který den ujel více jak 100km, nebo který řidič byl ten den na cestě, kam jel apod.. Zkoušel jsem příkaz uvedený výše, ale nějak se mi to nedaří. Mnohokrát děkuji za rady.
Offline

ty tabulky jsi zadal podle toho mého vzoru? ten dotaz je vygenerovaný v MS visual studiu, takže by na těch uvedených tabulkách měl fungovat.
co to dělá/nedělá?
Offline

↑ gladiator01: Toto mi to píše, když zadám, aby mi to našlo kdo najel více jak 200km. Ještě na ukázku, jak to mám sestavené:

Offline

Zruš tu diakritiku a v tabulce seznamJizd máš mezi slovy mezeru.
Když všechny tabulky správně přejmenuješ a zkontroluješ zda píšeš v dotazu stejné názvy, tak ti to bude fugovat.
Např. tabulka se jmenuje Řidič a v dotazu je ridic.
Offline

↑ gladiator01: Díky. Už to jde. Napsal jsem vše bez diakritiky. ještě několik dotazů: Když budu psát s diakritikou, půjde to? Jak vypíšu ještě k těm jménům, kolik najeli a kdy to bylo, popř. kam jeli apod.? Jinak mockrát děkuji. máš u mě kladné hodnocení.:-) 
Offline

↑ LRJ1:
Píšou, že např. u MySQL už být diakritika může, jak to je MS SQL serveru nevím. Radši piš bez diakritiky budeš to mít jednoduší.
příkaz SELECT má tvar (v nejjednoduším případě): SELECT sloupec1,sloupec2,... FROM nazevTabulky WHERE podminka
sloupce s názvem sloupec1,sloupec2,... se vypíší (zobrazí).
V tvém dotazu máš spojené všechny tři tabulky, tak můžeš za prijmeni přidat libovolný sloupec z tech tri tabulek:
SELECT jmeno, prijmeni, pocetKilometru, datum_jizdy FROM
nebo můžeš napsat
SELECT * FROM
a vypíší se ti všechny sloupce ze z tabulek za FROM (nyní ze všech tří)
Takovéhle věci by vás snad, ale měli učit. Ty k tomu předmětu nemáš, žádné materiály?
Offline

↑ gladiator01: Díky moc. Vše jsem rozchodil. Ale zkusil jsem si udělat ještě jednou vše znovu pomocí příkazů create table, jak je uvedeno výše a nějak mi to vázne u tohoto:
Jinak jsem tabulku jizda rozšířil o start a cíl, tabulku ridic o ulici, cp, mesto a psc. Snad ten problém není kvůli tomuto rozšíření. Děkuji mnohokrát.
Offline

↑ LRJ1:
nejmenuje se už něco PK_id_jizda?
máš správně udělanou tabulku jizda? je v ní definován primární klíč?
asi bude problem tam, mě to žádnou chybu nehlásí.
zkus před názvy sloupců psát názvy tabulek (jizda.id_jizda), aby bylo jasné z které tabulky jsou.
Offline

↑ gladiator01: Takto mám udělanou tabulku jizda: 
Offline

opsala jsem to podle obrázků a chodí to, nevím kde je problém.
smaž tu tabulku jizda a udělej ji znova
Offline

↑ gladiator01:OK, už to jde. Jen bych potřeboval radu, jak najdu pomocí selectu třeba který řidič jel z Mlade Boleslavi (to mám v tabulce jizda, sloupec start) nebo kam ktery ridic jel (tabulka jizda, sloupec cil) nebo aby to našlo, že tento řidič jel tyto dny. Mnohokrát děkuji!!!
Offline

↑ LRJ1:
tak to zkus vymyslet a napiš to sem.
jenom trochu obměníš dotaz z příspěvku #5
Offline

↑ gladiator01: Nezdá se mi, žeby to bylo tak jednoduché.:-) Prosím o kontrolu, popř. opravu. Díky.
Který řidič jel z Mlade Boleslavi?
SELECT ridic.jmeno, ridic.prijmeni
FROM jizda INNER JOIN
seznamJizd ON jizda.id_jizda = seznamJizd.id_jizda INNER JOIN
ridic ON seznamJizd.id_ridic = ridic.id_ridic
WHERE (jizda.start = Mlada Boleslav)
Kam který řidič jel?
SELECT ridic.jmeno, ridic.prijmeni, jizda.cil
FROM jizda INNER JOIN
seznamJizd ON jizda.id_jizda = seznamJizd.id_jizda INNER JOIN
ridic ON seznamJizd.id_ridic = ridic.id_ridic
Tento řidič jel tyto dny.
SELECT jizda.datum_jizdy
FROM jizda INNER JOIN
seznamJizd ON jizda.id_jizda = seznamJizd.id_jizda INNER JOIN
ridic ON seznamJizd.id_ridic = ridic.id_ridic
WHERE (ridic.jmeno = XXX, ridic.prijmeni = YYY)
Offline

zda se, že to funguje. proč to nevyzkoušíš?
Jen ty řetězce za rovnase (Mlada Boleslav, ...) musí být v jednoduchých úvozovkách.
Offline

↑ gladiator01: Bojím se to vyzkoušet, abych zase na něco neklikl a nezničil si to. Ale funguje to. Je to dobré. Snad u zkoušky uspěju. Díky moc!!!
Offline