Databázové systémy přednáška 2 – Datové typy

Slides:



Advertisements
Podobné prezentace
Aplikační a programové vybavení
Advertisements

Databázové systémy 2 Cvičení č. 8
Tabulky v MS ACCESS Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Mgr. Jiří Novák.
Ladislav Hofman, Jan Slavík TUL Předmět databázové systémy
Zpracování SQL Lubomír Andrle 5. přednáška
A5M33IZS – Informační a znalostní systémy Dotazovací jazyk SQL - I.
SQL: DDL v ORACLE CREATE TABLE jméno_tabulky (atribut datový_typ [DEFAULT][attribut_constraint] [, atribut datový_typ [DEFAULT] [attribut_constraint]],...
Aplikační a programové vybavení
Jazyk SQL Ing. Zdena DOBEŠOVÁ. SQL Structured Query Language 1974 SEQUEL (Structured English Query Language) neprocedurální relační dotazovací jazyk norma.
 Informací se data a vztahy mezi nimi stávají vhodnou interpretací pro uživatele, která odhaluje uspořádání, vztahy, tendence a trendy  Existuje celá.
Fakulta elektrotechniky a informatiky
Informační systémy Realizace uložených procedur a spouští, jejich praktické využití.
Základní obeznámení s jazykem SQL
Informatika pro ekonomy II přednáška 11
Fakulta elektrotechniky a informatiky
Databázové systémy 1 Cvičení č. 2 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Fakulta elektrotechniky a informatiky
1 BUMI Úvod do medicínské informatiky Počítačové cvičení č. 3 Ing. Vratislav Čmiel.
Temporální databáze a TSQL
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
Radek Špinka Přepínače MSSQL výběr.
SQL Přednáška DB1. Literatura CONNOLLY, T.M.-BEGG,C.E.-STRACHAN,A.D.: Database Systems – A Practial Approach to Design, Implementation and Management.
MySQL - Vytvoření nové tabulky  create table jméno_tabulky (jméno_položky typ_položky,... ) Přehled nejběžnějších datových typů Přehled nejběžnějších.
Fakulta elektrotechniky a informatiky
Databázové systémy teorie a návrh relačních databázových systémů část II.
Aplikační a programové vybavení
SQL – základní pojmy Ing. Roman Danel, Ph.D.
Rauer Luboš Kopic Petr Blažek Tomáš. Structured Query Language - dotazovací jazyk -> pracuje s dotazy - neprocedurální jazyk - mocný, ale přitom jednoduchý.
Cvičení.
Číslo šablony: III/2 VY_32_INOVACE_P4_3.8 Tematická oblast: Aplikační software pro práci s informacemi II. Databáze – základy SQL Typ: DUM - kombinovaný.
MySQL ÚVOD DO JAZYKA SQL
Architektury a techniky DS Cvičení č. 9 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Databázové systémy II Přednáška č. 9. Transakce je logická jednotka práce sestávající z jednoho nebo více SQL příkazů, které jsou atomické z hlediska.
Aplikační a programové vybavení
OSNOVA: a) Příkazy pro větvení b) Příkazy pro cykly c) Příkazy pro řízení přenosu d) Příklad Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače.
Databázové systémy 2 Zkouška – 12:00. Příklad I - Funkce Vytvořte funkci ZK_TRP_TREND(P_ID_TRPASLIKA IN NUMBER, P_DATUM_OD IN VARCHAR2, P_DATUM_DO.
Dynamic SQL P. Částek. Dynamic SQL Embedded SQL je překládaný preprocesorem => za běhu nelze nechat uživatele rozhodovat o vzhledu samotných SQL příkazů.
Aplikační a programové vybavení
MySql – úvod MySql je multiplatformní databázový systém (server a klient). Je napsán v C a C++. Ke stažení je na pro různé platformy, ve.
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B13 Autor Ing. Jiří Kalousek Období vytvoření březen.
Základní obeznámení s jazykem SQL Databázové systémy.
TEMPORÁLNÍ DATABÁZE A TSQL2
Databázové Aplikace Slidy ke cvičení DBI026, část 3 KSI MFF UK Verze
Databázové systémy Přednáška č. 5 Datové typy a Fyzická organizace dat.
Databázové systémy Zabezpečení DBS. Cíle, které je třeba vzít v úvahu při návrhu databázové aplikace z pohledu bezpečnosti: Důvěrnost - informace by neměly.
Datové typy a operátory. Co jsou datové typy  Charakterizují proměnnou nebo konstantu – jaká data obsahuje  Data jsou v počítači ukládána jako skupiny.
Informační systémy Tvorba databáze, nástroje pro tvorbu tabulek, relací, vazeb.
Základní obeznámení s jazykem SQL Databázové systémy.
MS ACCESS Databáze pro každého. Základní pojmy  Data  určitá fakta, vztahující se k objektům z reálného světa, uložená v paměti počítače  Informace.
Databáze MS ACCESS 2010.
Databázové systémy I Cvičení č. 5 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
Datové typy MS Access (3). Projekt: CZ.1.07/1.5.00/ OAJL - inovace výuky Příjemce: Obchodní akademie, odborná škola a praktická škola pro tělesně.
Databázové systémy přednáška 6 – Indexy
SQL – příkaz SELECT Ing. Roman Danel, Ph.D.
Roman Danel Institut ekonomiky a systémů řízení 2016
Dotazovací jazyk SQL - III
Databázové systémy a SQL
Dotazovací jazyk SQL I.
R nejen v SQL Serveru Jiří Neoral BI Data Architect
Databázové systémy a SQL
Databázové systémy a SQL
Šablona 32 VY_32_INOVACE_038.ICT.34
Databázové systémy a SQL
Počítačová cvičení z předmětu Datové sklady #1 Relační model dat
Jak načítat externí data na SQL Server
Přednáška 9 Triggery.
Databázové systémy a SQL
Databázové jazyky Jaroslav Pokorný FI BVŠP Bratislava
Databázové systémy a SQL
Transkript prezentace:

Databázové systémy přednáška 2 – Datové typy Roman Danel Institut ekonomiky a systémů řízení 2016

Datové typy Číselné Řetězcové (Strings) Logické (Boolean) Datumové interval Ostatní (binární, spatial, XML, row, array…) Uživatelsky definované (např. money)

Číselné datové typy Celočíselné (integer) S desetinnou částí Numeric/Decimal Real – floating point Float Double precision

Číselné v MySQL (Integer) Tinyint −128 až 127 nebo 0 až 255 pro UNSIGNED, 1 byte Smallint −32768 až 32767 nebo 0 až 65535 pro UNSIGNED, 2 bajty MediumInt −8388608 až 8388607 nebo 0 až 16777215 pro UNSIGNED, 3 bajty Int −2147483648 až 2147483647 nebo 0 až 4294967295 pro UNSIGNED, 4 bajty Bigint −9223372036854775808 až 9223372036854 nebo 0 až 18446744073709551615 pro UNSIGNED, 8 bajtů

Číselné v MySQL Float(p) Float(M,D) Double(M,D) Decimal(M,D) - velká čísla v pohyblivé řádové čárce ukládané jako řetězec (1 bajt na číslici)

Číselné – Microsoft SQL Server Datový typ Rozsah Paměť potřebná pro uložení bigint -263 až 263 8 bajtů int -231 až 231 4 bajty smallint -215 až 215 2 bajty tinyint 0 až 255 1 bajt Datový typ Precision Paměť potřebná pro uložení decimal 1-9 5 bajtů 10-19 9 bajtů 20-28 13 bajtů 29-38 17 bajtů

Číselné – Microsoft SQL Server Datový typ Rozsah Paměť potřebná pro uložení money -922,337,203,6­85,477.58 až 922,337,203,6­85,477.58 8 bajtů smallmoney - 214,748.3648 to 214,748.3647 4 bajty

Číselné – Microsoft SQL Server Datový typ n Paměť potřebná pro uložení float(n) 1-24 4 bajty 25-53 9 bajtů

Numeric Numeric(5,2) = 99.99

Řetězcové - MySQL Char(m), m=0-255, delší se „ztratí“ Varchar(m), m=0-255 Tinyblob - 0 až 255 bajtů Blob - 0 až 65535 bajtů Mediumblob, Longblob TinyText -  0 až 255 bajtů Text, MediumText, LongText Enum - výčet hodnot; hodnoty ze sloupce mohou mít přiřazeny právě jednu hodnotu ze seznamu hodnot

Datumové DATE TIME DATETIME SMALLDATETIME

Datumové – Microsoft SQL Server Datový typ Rozsah Paměť potřebná pro uložení date 0001-01-01 až 9999-12-31 3 bajty Time 00:00:00.000 až 23:59:59.999 5 bajtů Datetime Rozsah pro datum 01.01.1753 až 31.12.9999 Rozsah pro čas 00:00:00 až 23:59:59.997 8 bajtů Datetime2(n) Rozsah pro datum 01.01.0001 až 31.12.9999 Rozsah pro čas 00:00:00 až 23:59:59.9999999 Podle přesnosti od 6 bajtů do 8 bajtů Datetimeoffset Rozsah pro datum 01.01.0001 až 31.12.9999 Rozsah pro čas 00:00:00 až 23:59:59.9999999 Rozsah pro časovou zónu -14:00 až +14:00 10 bajtů Smalldatetime Rozsah pro datum 01.01.1900 až 06.06.2079 Rozsah pro čas 00:00:00 až 23:59:00 4 bajty

Interval Dva typy Year-month Day-time

Ostatní datové typy – MS SQL Bit – 1/0, paměť 1 bit Timestamp – je datový typ, který generuje jedinečné binární číslo, které se používá na rozlišení verze řádků „rowversion“. Tento datový typ neukládá datum a čas! Pro uložení data a času používejte datetime2. V paměti zabírá 8 bajtů. Uniqueidentifier – je datový typ, který ve spojení například s funkcí NEWID() vygeneruje unikátní identifikátor. V paměti zabírá 16 bajtů.

Hodnota NULL Hodnota, která není určena U sloupce lze definovat vlastnost NULL/NOT NULL V dotazech: SELECT * from TABLE where hodnota_sloupce IS NULL;

Primární klíč – Primary Key Primární klíč – definuje se nad jedním nebo více sloupci tabulky. Hlavním účelem primárního klíče je zajistit jednoznačnost záznamů v tabulce. Data primárního klíče nesmí obsahovat duplicitu nebo hodnotu Null.

Automaticky generované číslo MySQL – AUTO_INCREMENT MS SQL – IDENTITY Oracle – sekvence Access – Automatické číslo

Automatické číslo - Oracle create sequence odeslani_s increment by 1 start with 100 minvalue 1 nocycle cache 20 noorder; create or replace trigger autoincr_odeslani_id before insert on odeslani for each row declare pkvalue number; begin select odeslani_s.nextval into pkvalue from dual; :new.odeslani_id := pkvalue; end; create table odeslani ( odeslani_id number NOT NULL, CIS#NEM_KOD NUMBER(3) NOT NULL, -- Pro jakou nemocnici je to vygenerovane CIS#POJ_KODPOJ NUMBER(3) NOT NULL, -- Pro jakou pojistovnu je to vygenerovane odeslani_ICP NUMBER(8) NOT NULL, -- Pro jakou pojistovnu je to vygenerovane odeslani_OBDOBI VARCHAR2(6) DEFAULT ' ', -- Za jake obdobi jsou data zpracovany odeslani_poc_zprac number default 1 not null , -- Pocet zpracovani daneho obdobi odeslani_usrins varchar(100), -- Login uzivatele ktery to vlozil odeslani_stdins date, -- Cas kdy to dany uzivatel vlozil odeslani_usrupd varchar(100), -- Login uzivatele ktery to zmenil odeslani_stdupd date, -- Cas kdy to dany uzivatel zmenil primary key (odeslani_id), unique (CIS#NEM_KOD, CIS#POJ_KODPOJ, odeslani_ICP, odeslani_OBDOBI) );

Default hodnota Použije se, jestliže při operaci insert není hodnota určena Jestliže se chceme vyhnout hodnotám NULL

Upřesnění datových typů UNIQUE NULL/NOT NULL PRIMARY KEY DEFAULT

Konverze datových typů CONVERT ČÁST CAST ( $157.27 AS VARCHAR(10) ) Syntax for CAST: CAST ( expression AS data_type [ (length ) ]) Syntax for CONVERT: CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

- 0 or 100 (1,2) default měsíc, dd rrrr hh:miAM (nebo odp.) 1 101 U.S. DD. MM. RRRR 2 102 ANSI yy.mm.dd 3 103 Britské/francouzština dd/mm/rrrr 4 104 Němčina dd.mm.yy 5 105 Italština dd-mm rr 6 106 (1) dd, rr měsíc 7 107 (1) Pon dd, rr 8 108 hh:mi:ss 9 or 109 (1,2) Výchozí + milisekund měsíc, dd rrrr hh:mi:ss:mmmAM (nebo odp.) 10 110 USA mm-dd rr 11 111 JAPONSKO rr/mm/dd 12 112 ISO rrmmdd RRRRMMDD 13 or 113 (1,2) Výchozí Evropy + milisekund dd měsíc rrrr hh:mi:ss:mmm(24h) 14 114 hh:mi:ss:mmm(24h)

XML data type XML – schema (metadata), od SQL:2005 Příklad použití: CREATE TABLE CLIENT ( ClientName CHAR (30) NOT NULL, Address1 CHAR (30), Address2 CHAR (30), City CHAR (25), State CHAR (2), PostalCode CHAR (10), Comments XML(SEQUENCE) ) ;

XML - příklad <Comments> <Comment> <CommentNo>1</CommentNo> <MessageText>Is VetLab equipped to analyze penguin blood? </MessageText> <ResponseRequested>Yes</ResponseRequested> </Comment> <CommentNo>2</CommentNo> <MessageText>Thanks for the fast turnaround on the leopard seal sputum sample.</MessageText> <ResponseRequested>No</ResponseRequested> </Comments>

XML subtypes Zdroj: SQL for Dummies

Datový typ array Tento datový typ neodpovídá logice „normalizace“ SQL:1999 Datový typ multiset - unordered collection

Datový typ array - příklad CREATE TABLE CUSTOMER ( CustID INTEGER PRIMARY KEY, LastName CHARACTER VARYING (25), FirstName CHARACTER VARYING (20), Address addr_typ, Phone CHARACTER VARYING (15) ARRAY [3] ) ;