Databáze 2011/2012 SQL DDL (CREATE/ALTER/DROP TABLE), DML (INSERT/UPDATE/DELETE) RNDr.David Hoksza, Ph.D. http://siret.cz/hoksza

Podobné dokumenty
Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal

Databáze 2011/2012 T-SQL - kurzory, funkce. RNDr.David Hoksza, Ph.D.

Informační systémy 2008/2009. Radim Farana. Obsah. Jazyk SQL

Databáze I. Přednáška 4

Úvod do databázových systémů

2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE

Návrh a tvorba WWW stránek 1/14. PHP a databáze

Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc.

Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava

Databázové systémy Cvičení 5.2

Konceptuální modelování a SQL

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

6. SQL složitější dotazy, QBE

Jazyk SQL 3 - DML, DDL, TCL, DCL

- sloupcové integritní omezení

Databázové systémy. Cvičení 6: SQL

Databáze. Optimalizace, základní konstrukty T-SQL David Hoksza

Databáze 2011/2012. Optimalizace, základní konstrukty T-SQL RNDr.David Hoksza, Ph.D.

SQL v14. 4D Developer konference. 4D Developer conference 2015 Prague, CZ Celebrating 30 years

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

B0M33BDT Technologie pro velká data. Supercvičení SQL, Python, Linux

Databázové systémy I

SQL. strukturovaný dotazovací jazyk. Structured Query Language (SQL)

Kapitola 6: Omezení integrity. Omezení domény

Transformace konceptuálního modelu na relační

Databázové systémy II. KIV/DB2 LS 2007/2008. Zadání semestrální práce

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou

7. Integrita a bezpečnost dat v DBS

7. Integrita a bezpečnost dat v DBS

Databázové systémy. Integritní omezení. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 1 / 33

Sada 1 - PHP. 14. Úvod do jazyka SQL

KIV/ZIS cvičení 6. Tomáš Potužák

Jazyk SQL databáze SQLite. připravil ing. petr polách

Databáze SQL SELECT. David Hoksza

A5M33IZS Informační a znalostní systémy. Relační databázová technologie

Inovace a zkvalitnění výuky prostřednictvím ICT. Základní seznámení s MySQL Ing. Kotásek Jaroslav

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče.

PG 9.5 novinky ve vývoji aplikací

Západočeská univerzita v Plzni Katedra informatiky a výpočetní techniky. 9. června krovacek@students.zcu.cz

Dotazy v SQL. Výraz relační algebry R1( )[A1,A2,...,Aj] lze zapsat takto: SELECT A1,A2,...,Aj FROM R1 WHERE. Výraz (R1, R2... Rk)( )[A1,A2,...

Verzování a publikace dat na webu za pomoci PostgreSQL

Vzorové příklady SQL. Tabulka: Kniha CREATE TABLE kniha (id INTEGER, název VARCHAR(50), PRIMARY KEY (id))

Databáze I. 5. přednáška. Helena Palovská

DUM 12 téma: Příkazy pro tvorbu databáze

Databázové systémy a SQL

Dotazovací jazyk SQL I

Jazyk SQL slajdy k přednášce NDBI001

1. Relační databázový model

Informační systémy 2008/2009. Radim Farana. Obsah. Skripty a dávky. Nastavení aktuální databáze. USE DatabaseName

Zkouškový příklad 4IT218 Rezervační systém zážitkové agentury. Karel Kohout FIS VŠE

Dotazovací jazyk SQL I

Integritní omezení (IO)

Informační systémy 2008/2009. Radim Farana. Obsah. Dotazy přes více tabulek

Zápisování dat do databáze

Transakce Profinit. All rights reserved.

Relace x vztah (relationship)

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR):

Co se stane po jeho vykonání? Vyberte libovolný počet možných odpovědí. Správná nemusí být žádná, ale také mohou být správné všechny.

Databázové systémy úvod

Relační databázová technologie

Databázové systémy. Doc.Ing.Miloš Koch,CSc.

Měřící systém se vzdáleným přístupem. Databáze

MySQL sežere vaše data

Tabulka fotbalové ligy

Semestrální práce z DAS2 a WWW

4IT218 Databáze. 4IT218 Databáze

Informační systémy 2008/2009. Radim Farana. Řešený příklad. Struktura navržené databáze

Databáze II. 2. přednáška. Helena Palovská

Optimalizace dotazů a databázové transakce v Oracle

Databáze 2011/2012 SQL SELECT II. RNDr.David Hoksza, Ph.D.

Databázové systémy I

Oracle XML DB. Tomáš Nykodým

Structured Query Language SQL

PL/SQL. Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd.

Databáze. Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu. Bedřich Košata

DBS Transformace konceptuálního schématu na

MySQL. mysql> CREATE DATABASE nova CHARACTER SET latin2 COLLATE latin2_czech_cs; Query OK, 1 row affected (0.02 sec)

8.2 Používání a tvorba databází

Nastavení propojení s eshopem

Kód v databázi. RNDr. Ondřej Zýka

Vkládání, aktualizace, mazání

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 10.4.

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MySQL základní pojmy, motivace Ing. Kotásek Jaroslav

5. POČÍTAČOVÉ CVIČENÍ

Fakulta elektrotechniky a informatiky Databázové systémy 2. Leden 2010 souhrn. Červené dobře (nejspíš), modré možná

Použití databází na Webu

FAKULTA STAVEBNÍ STUDIJNÍ PROGRAM: GEODÉZIE A KARTOGRAFIE TYP PROGRAMU: MAGISTERSKÝ STUDIJNÍ OBOR: GEOMATIKA ÚVOD DO ZPRACOVÁNÍ PROSTOROVÝCH DAT

Databázové a informační systémy. Dokumentace k projektu. Učební sklad

Zadání. Slovníček pojmů. Otázka 18 A7B36DBS

Užití SQL ve 4D v14-15

Souvislost E-R schématu s relačním

Změny v Tabulce ALTER TABLE nazev_tabulky prikaz1, prikaz2, prikaz3,..., prikazn; -provede změny ve stávající tabulce s názvem "nazev_tabulky"

Materiál ke cvičením - SQL

RELAČNÍ DATABÁZOVÉ SYSTÉMY

Základy informatiky. 06 Databázové systémy. Kačmařík/Szturcová/Děrgel/Rapant

Databázové systémy I. 3. přednáška

HTML šablona v MarushkaDesignu

KMI / TMA Tvorba mobilních aplikací. 6. seminář ZS 2016/2017 Středa 13:15-15:45

OBJECT DEFINITION LANGUAGE. Jonáš Klimeš NDBI001 Dotazovací Jazyky I 2013

MySQL manuál. Copyright: Adam Jun Stránky manuálu:

Transkript:

Databáze 2011/2012 SQL DDL (CREATE/ALTER/DROP TABLE), DML (INSERT/UPDATE/DELETE) RNDr.David Hksza, Ph.D. http://siret.cz/hksza

Osnva Seznámení s SQL Server Management Studiem (SSMS) Základní architektura Micrsft SQL Serveru 2008 Vytváření tabulek CREATE TABLE Integritní mezení Změna tabulky ALTER TABLE Aktualizace dat INSERT UPDATE Cvičení

SSMS

Architektura MSSQL 2008 Server MSSQL Server 1 Databáze1 schéma 1 schéma 2 schéma N MSSQL Server N Databáze1 schéma 1 schéma 2 schéma N. DatabázeN schéma 1 schéma 2 schéma N DatabázeN schéma 1 schéma 2 schéma N

Dkumentace MSSQL Micrsft SQL Server Bks Online (BOL) http://msdn.micrsft.cm/en-us/library/ms130214.aspx

CREATE TABLE CREATE TABLE name (slupec1 datvy_typ1 [DEFAULT value] [mezeni] [, slupec2 datvy_typ2 ] ) základní datvé typy v MSSQL INT FLOAT (N)CHAR(n), (N)VARCHAR(n) BIT MONEY DATETIME, DATE, TIME TEXT, (N)VARCHAR(MAX) IMAGE, BINARY(n), VARBINARY(MAX)

Integritní mezení (IO) NOT NULL slupec nesmí bsahvat NULL hdnty UNIQUE slupec nesmí bsahvat duplicity PRIMARY KEY UNIQUE + NOT NULL CHECK hdnta slupce musí dpvídat pdmínce pdmínka nesmí bsahvat pddtaz, puze jednduché prvnání FOREIGN KEY hdnta ve slupci (slupcích) musí bsahvat hdntu (hdnty) ze slupce (slupců) jiné tabulky značenéh (značených) jak primární klíč

CREATE TABLE - příklad CREATE TABLE publisher ( id INT PRIMARY KEY, name VARCHAR(256) NOT NULL UNIQUE, address VARCHAR(512)) CREATE TABLE bk ( id INT PRIMARY KEY, name VARCHAR(256) NOT NULL UNIQUE, authr VARCHAR(512) NOT NULL, price MONEY CHECK (price > 0), detail VARCHAR(MAX), reprint BIT DEFAULT 0, publisher_id INT FOREIGN KEY REFERENCES publisher(id))

Pjmenvané IO CREATE TABLE bk ( id INT, name VARCHAR(256) NOT NULL, authr VARCHAR(512) NOT NULL, price MONEY, detail VARCHAR(MAX), reprint BIT DEFAULT 0, publisher_id INT, CONSTRAINT pk_bk_id PRIMARY KEY(id), CONSTRAINT uq_bk_name UNIQUE(name), CONSTRAINT chk_bk_price CHECK(price > 0), CONSTRAINT fk_bk_publisher FOREIGN KEY (publisher_id) REFERENCES publisher(id))

Rzšířená referenční integrita FOREIGN KEY REFERENCES [ON DELETE ][ON UPDATE ] C se stane při smazání řádku, na který je dkazván? ON DELETE NO ACTION chyba ON DELETE CASCADE smazání dkazujícíh řádku ON DELETE SET NULL nastavení hdnty FK na NULL ON DELETE SET DEFAULT nastavení hdnty FK na defaultní hdntu C se stane při update dkazvanéh PK? ON UPDATE NO ACTION chyba ON UPDATE CASCADE update hdnty FK ON DELETE SET NULL nastavení hdnty FK na NULL ON DELETE SET DEFAULT nastavení hdnty FK na defaultní hdntu

IDENTITY autmatické genervání hdnt pr (především) PK slupce CREATE TABLE publisher ( id INT PRIMARY KEY IDENTITY(1,1), name VARCHAR(256) NOT NULL UNIQUE, address VARCHAR(512)) INSERT INTO publisher(name) VALUES('publisher''s name');

ALTER TABLE změna definice tabulky ALTER TABLE table_name ADD clumn_definitin ADD CONSTRAINT named_cnstraint_definitin ALTER COLUMN clumn_definitin DROP COLUMN clumn_name DROP CONSTRAINT cnstraint_name

ALTER TABLE - příklad ALTER TABLE bk ADD test REAL; GO ALTER TABLE bk ALTER COLUMN test INT; GO ALTER TABLE bk ADD CONSTRAINT chk_bk_test CHECK (test % 2 = 0); GO ALTER TABLE bk DROP CONSTRAINT chk_bk_test; GO ALTER TABLE bk DROP COLUMN test; GO GO uknčuje dávku v MSSQL

INSERT INTO INSERT INTO table_name[(clumn1, clumn2,, clumnn)] VALUES (value1, value2,, valuen) Každý INSERT vlží jeden nvý řádek Nevyplněné hdnty se nastaví na NULL (pkud je daný slupec NOT NULL, vyvlá se chyba) Přadí a pčet hdnt musí dpvídat definici slupců v INTO části

INSERT INTO - příklad INSERT INTO publisher(id, name) VALUES (1, 'publisher 1'); INSERT INTO publisher(name, id, address) VALUES ('publisher 2', 2, 'address 2') INSERT INTO publisher VALUES (3, 'publisher 3', 'address 2') INSERT INTO bk(id, authr, name, publisher_id) VALUES (1, 'authr1', 'name1', 2); INSERT INTO bk(id, authr, name, publisher_id) VALUES (2, 'authr1', 'name2', (SELECT id FROM publisher WHERE name = 'publisher 2'))

UPDATE table_name UPDATE SET clumn_name = value [, clumn_name = value, ] [FROM table_name] [WHERE cnditin] FROM klauzule v UPDATE je specifikum MSSQL

UPDATE příklad UPDATE bk SET price = 15 nastav cenu všech knih na 15 UPDATE bk SET price = 2*price zdvjnásb cenu všech knih UPDATE bk SET price = 2*price FROM bk b JOIN publisher p ON (b.publisher_id = p.id) WHERE p.address LIKE '%USA%' zdvjnásb cenu knih nakladatelů z USA tabulka bk ve FROM klauzuli se autmaticky identifikuje s tabulku bk z UPDATE části, tj. s updatvanu tabulku

DELETE DELETE FROM table_name [WHERE cnditin] Vymazání záznamů dpvídající pdmínce Není-li WHERE klauzule specifikvána, mažu se všechny záznamy v dané tabulce DELETE FROM bks WHERE price > 20

DROP TABLE Smazání tabulky DROP TABLE bk DROP TABLE publisher Na přadí záleží!