Tinyint MS SQL datový typ. SQL: Datové typy

Každý databázový sloupec má při vytváření sloupce svůj vlastní typ indikovaný typ.

Následující typy jsou definovány v SQL Standard:

1. Symbolický:

Znak ( len.); Char ( len.);

Charakterizující znak ( len.); Char se liší ( len.); Varchar ( len.);

Národní znak ( len.); Národní char ( len.); NAR ( len.);

Národní znak se mění ( len.);

Národní char s len.); Frarying NAR ( len.);

2. Binární:

Bit ( len.); Bitové různé ( len.);

3. Číselná:

Numerický; Desetinný; DEC; Celé číslo; Int; Smallint;

Plovák; Nemovitý; Dvojitá přesnost;

4. Data / čas:

Datum; Čas; Čas s časovým pásmem;

Časová rada; Časová značka s časovým pásmem;

5. Interval: interval.

Pro typy znaků je možné určit sadu znaků fráze (SET_NAME | pomocí_formace), který nastaví použitý znakový soubor.

Podívejme se na popis nejčastěji používaných datových typů:

Char ( num.) - Textový řetězec pevné délky (umístění je přiděleno pod celou linkou);

Varchar ( num.) - Textový řetězec s proměnnou délkou obsahující ne více než num znaky (disk se uvolňuje v závislosti na délce řádku);

Celé číslo nebo integální číslo;

Číselná - Číslo plovoucího bodu, je možné určit počet značek po čárku;

Desetinné nebo DEC - plovoucího bodu číslo, je možné úkol minimální hodnotu přesnosti;

Float je číslo s plovoucí desetinnou čárkou, která vám umožní nastavit přesnost (počet středníků);

Real - Číslo plovoucího bodu, jejichž přesnost je stanovena implementací;

Datum - Datum Datum;

Čas s časovým pásmem je pole typu časového typu popisující posun času zóny.

Typy dat popisujících datum a čas se skládají z několika polí, ve kterých jsou uloženy části data času.

Typ data obsahuje pole roku, měsíc a den.

Časová doba obsahuje hodinu, minutu a druhá pole.

Typ Timestamp obsahuje obě pole dat a časová pole.

Hodnota typového časového razítka je napsána následovně: "10.1.2003 08:30:00". Pořadí polí při psaní datum je obvykle určeno instalacemi operačního systému počítače.

Chcete-li pracovat s daty s typem data / času v jazyce SQL, jsou uvedeny následující funkce:

Current_Time - určuje aktuální čas;

Proud_date - určuje aktuální datum;

Current_timestamp - definuje aktuální datum a čas.

Korespondence mezi typy dat Oracle a typy dat ANSI / ISO jsou uvedeny v tabulce.

Datum - Datum v rozmezí od 1-1-4712 g BC. Až 31-12-4712g reklamy. Formát dat je určen nastavení serveru.



V 10. verzi jsou zadány odpovídající data k datovým typům IEEE754 - Binary_FLOOT a BINARY_DOUBLE.

Poznámka. Postupy PL / SQL lze použít kompatibilní s datovými typy dat ANSI: DEC (P, S), desetinné (P, S), int, celé číslo, reálný, plovák (P), dvojité preiscion.

Kromě výše uvedených skalárních typů lze nastavit kompozitní (agregovaný) typ, například struktura, záznam nebo sběr. Kromě toho existuje takový typ jako odkaz.

Poslední aktualizace: 07/12/2017

Při vytváření tabulky pro všechny její sloupce musíte určit konkrétní typ dat. Typ dat určuje, které hodnoty mohou být uloženy ve sloupci, protože budou zabírány v paměti.

T-SQL Jazyk poskytuje mnoho různých typů. V závislosti na povaze hodnot mohou být všechny z nich rozděleny do skupin.

Číselné typy dat

    Bit: Uloží hodnotu 0 nebo 1. vlastně analog booleovského typu v programovacích jazycích. Trvá 1 bajt.

    Tinyint: Ukládá čísla od 0 do 255. Trvá 1 bajt. Dobře vhodná pro ukládání malých čísel.

    Smallint: Udržuje čísla od -32 768 až 32,767. Trvá 2 bajty

    INT: Ukládá čísla z -2 147 483 648 až 2 147 483 647. Trvá 4 bajty. Nejpoužívanější typ pro úložné čísla.

    Bigint: Obchoduje velmi velká čísla z -9 223 372 036 854 775 808 až 9 223 372 036 854 775 807, který zabírá 8 bajtů v paměti.

    Desetinné: Udržuje číslo s pevnou přesností. To trvá od 5 do 17 bajtů v závislosti na počtu čísel po čárku.

    Tento typ může přijímat dvě parametry přesnost a měřítko: desetinná (přesnost, měřítko).

    Přesný parametr představuje maximální počet čísel, které lze číslo ukládat. Tato hodnota by měla být v rozsahu od 1 do 38. Ve výchozím nastavení je 18.

    Parametr měřítka představuje maximální počet číslic, které mohou obsahovat číslo po čárku. Tato hodnota musí být v rozsahu od 0 k hodnotě parametru přesného. Ve výchozím nastavení je rovna 0.

    Číselná: Tento typ je podobný desetinnému typu.

    SmallMoney: Ukládá frakční hodnoty od -214 748.3648 až 214 748.3647. Je určen pro ukládání peněžních hodnot. Trvá 4 bajty. Ekvivalentní typu desetinného místa (10.4).

    Peníze: skladuje frakční hodnoty od -922 337 203 685 437.5808 až 922 337 203 685 477.5807. Představuje hotovost a trvá 8 bajtů. Ekvivalent desetinného typu (19.4).

    Float: Ukládá číslo od -1,79E + 308 až 1,79E + 308. V závislosti na frakční části trvá od 4 do 8 bajtů.

    Může mít formu definice ve formě plováku (n), kde n představuje počet bitů, které se používají pro ukládání desetinné části čísla (mantissa). Výchozí n \u003d 53.

    Real: Ukládá číslo od -340E + 38 až 3.40E + 38. Trvá 4 bajty. Ekvivalent typu float (24).

Příklady numerických sloupců: mzdové peníze, celkové desetinné (9,2), věk int, přebytečný plovák

Datové typy představující datum a čas

    Datum: Obchody se datuje od 0001-01-01 (1. ledna 0001) až 9999-12-31 (31. prosince 9999). Zaujímá 3 bajty.

    Čas: Uložení času v rozsahu od 00: 00: 00.0000000 až 23: 59: 59.9999999. Trvá to od 3 do 5 bajtů.

    Může mít formulář (n) formulář, kde n představuje počet čísel od 0 do 7 ve zlomkové části sekund.

    DateTime: Uloží data a čas od 01/01/1753 až 12/12/9999. Trvá 8 bajtů.

    DateTime2: Ukládá data a čas v rozsahu 01/01/0001 00: 00: 00.0000000 až 12/31/9999 23: 59: 59.9999999. V závislosti na přesnosti času trvá od 6 do 8 bajtů.

    Může být ve formuláři DateTime2 (n), kde n představuje počet čísel od 0 do 7 v zlomkové části sekund.

    SmallDateTime: Ukládá data a čas v rozsahu 01/01/1900 až 06/06/2079, to znamená další data. Trvá to ze 4 bajtů.

    DateTimeOffset: Ukládá data a čas v rozsahu od 0001-01-01 až 9999-12-31. Uloží podrobné informace o čase s přesností 100 nanosekund. Trvá 10 bajtů.

Formáty obyčejných dat:

    yyyy-mm-dd - 2017-07-12

    dD / MM / YYYY - 12/07/2017

    mm-dd-yy - 07-12-17

    V takovém formátu jsou dvojciferná čísla od 00 do 49 vnímána jako data v rozsahu 2000-2049. Číslo od 50 do 90 jako rozsah čísel 1950 - 1999.

    Měsíc DD, YYYY - 12. července 2017

Společné formáty:

  • hH: MI am / pm - 1:21 pm

    hH: MI: SS - 1:21:34

    hH: MI: SS: Mmm - 1: 21: 34: 12

    hH: MI: SS: nnnnnnn - 1: 21: 34: 1234567

Typy dat řetězců

    Char: Ukládá řetězec od 1 do 8 000 znaků. Na každé postavě přiděluje 1 bajt. Není vhodný pro mnoho jazyků, protože ukládá znaky ne v kódování Unicode.

    Počet znaků, které mohou ukládat sloupec, je přenášen v závorkách. Například 10 bajtů bude zvýrazněno pro sloupec s typem znaku (10). A pokud ušetříme ve sloupci řetězec méně než 10 znaků, bude doplněna prostorem.

    VARCHAR: Uloží řetězec. Na každém symbolu přidělen 1 bajt. Můžete určit konkrétní délku sloupce - od 1 do 8 000 znaků, například varchar (10). Pokud by řetězec měl mít více než 8000 znaků, je nastaven maximální velikost a může být uloženo až 2 GB pro uložení řetězce: varchar (max).

    Není vhodný pro mnoho jazyků, protože ukládá znaky ne v kódování Unicode.

    Na rozdíl od typu Char, pokud bude řetězec 5 znaků uložen ve sloupci s varhar (10), pak bude uloženo pět znaků ve sloupci.

    NAR: Ukládá řetězec v kódování Unicode s délkou 1 až 4000 znaků. Pro každý symbol jsou přiděleny 2 bajty. Například NAR (15)

    Nvarchar: Ukládá řetězec v kódování Unicode. Na každém symbolu jsou přiděleny 2 bajty. Můžete nastavit konkrétní velikost od 1 do 4000 znaků :. Pokud by řetězec měl mít více než 4000 znaků, je nastavena maximální velikost a pro úložiště je uloženo až 2 GB.

Dva další typy textu a ntext jsou zastaralé, a proto se nedoporučuje používat je. Místo toho použijí varhar a nvarchar.

Příklady definice sloupců řetězců:

E-mail varchar (30), komentář nvarchar (max)

Binární typy dat

    Binární: Ukládá binární data ve formě sekvence od 1 do 8 000 bajtů.

    Varbinary: Ukládá binární data ve formě sekvence od 1 do 8 000 bajtů, nebo až 2 31-1 bajtů při použití maximální hodnoty (varbinary (max)).

Další obrázek typu binárního typu je zastaralý a doporučuje se namísto toho použít typ typu varbinary.

Zbývající typy dat

    UniqueIdentifier: Unikátní ID GUID (v podstatě řetězec s jedinečnou hodnotou), která trvá 16 bajtů.

    Časová značka: Některé číslo, které ukládá číslo verze v tabulce. Trvá 8 bajtů.

    Kurzor: představuje sadu řetězců.

    Hierarchyid: představuje pozici v hierarchii.

    SQL_Variant: může ukládat data jakéhokoli jiného typu dat T-SQL.

    XML: Ukládá dokumenty XML nebo XML dokumenty fragmenty. Trvá až 2 GB.

    Tabulka: Představuje definici tabulky.

    Geografie: ukládá geografická data, jako je například zeměpisná šířka a délka.

    Geometrie: Uloží souřadnice umístění v rovině.

Definice datové struktury

Otázky:

1. Jazykové datové typy SQL definované standardem .. 1

2. Datové typy použité v serveru SQL Server. 3.

3. Výrazy a proměnné. Pět

4. Nabíjecí návrhy SQL .. 6

5. Základní objekty struktury databáze SQL Server Server. 7.

Data jazyka SQL určená standardem

Data - Jedná se o kumulativní informace, uložené v databázi ve formě jednoho z několika různých typů. Použití datových typů, základní pravidla pro data obsažená ve specifickém sloupci tabulky, včetně velikosti paměti přidělené pro ně.

Jazyk SQL má šest typů skalárních dat definovaných standardem. Jejich stručný popis je prezentován v tabulce.

Symbolická data

Symbolická data se skládají z posloupnosti symbolů obsažených v nastaveném symbolu definovaným tvůrci DBMS. Vzhledem k tomu, že sady symbolů jsou specifické pro různé dialekty SQL, seznam znaků, které mohou být zahrnuty do datových hodnot dat symbolů, závisí také na konkrétní implementaci. Nejčastěji používali znaky ASCII a Ebcdic. Chcete-li zjistit data symbolické typu, používá se následující formát:

<символьный_тип>::=

(Znak [Langeing] [Délka] | [Délka])

Při definování sloupce se symbolickým typem dat je parametr Délka aplikován pro určení maximálního počtu znaků, které lze umístit v tomto sloupci (výchozí hodnota je 1). Řetězec znaků může být definován jako mající pevnou nebo proměnnou (měnící se) délku. Pokud je řetězec definován pevnou délkou hodnot, pak při vstupu do menšího počtu znaků do něj je hodnota doplněna na zadanou délku prostory přidané vpravo. Pokud je řetězec definován s proměnnými délkami hodnot, pak při zadávání menšího počtu znaků v databázi budou uloženy pouze zadané znaky, které dosáhnou určitých úspor externí paměti.

Bitová data

Typ bitů Data se používají k určení bitových čar, tj. Sekvence binárních číslic (bitů), z nichž každá může zmotávat 0 nebo 1. Data typu bitů jsou určena pomocí následujícího formátu:

<битовый_тип>::=

Bit [Délka]

Přesná čísla

Typ přesných číselných datpoužívá se k určení čísel, která mají přesnou reprezentaci, tj. Čísla se skládají z čísel, volitelného desetinného bodu a volitelného symbolu znamení. Data přesného číselného typu jsou určena přesností a délkou zlomkové části. Přesnost Nastavuje celkový počet významných desetinných čísel čísla, který zahrnuje délku celé části i zlomky, ale bez zohlednění samotného desetinného bodu. Měřítko označuje počet zlomkových desetinných výbojů čísla.

<фиксированный_тип>::=

(Číselná [Přesnost [, měřítko]] | (DECIMAL | DEC)

[Přesnost [, stupnice]]

| (Celé číslo | int) | Malý)

Typy Numerický. a Desetinný Navrženo pro ukládání čísel v desetinném formátu. Ve výchozím nastavení je délka zlomkové části nula, a výchozí přesnost závisí na implementaci. Typ celého čísla (INT) se používá k ukládání velkých pozitivních nebo negativních celých čísel. Typ Smallint - pro ukládání malých pozitivních nebo negativních celých čísel; V tomto případě je významně snížena spotřeba vnější paměti.

Zaoblená čísla

Typ zaoblených číselpoužívá se k popisu dat, které nelze přesně předložit počítači, zejména platná čísla. Zaokrouhlená čísla nebo čísla s plovoucí desetinnou čárkou jsou reprezentovány ve vědeckém zápisu, ve kterém je číslo zaznamenáno pomocí Mantisy vynásobené určitým stupněm deseti (pořadí), například: 10e3, + 5,2E6, -0.2e-4-4. Chcete-li určit typ založený na signálu, použije se formát:

<вещественный_тип>::=

(Float [Přesnost] | Real |

Dvojitá přesnost)

Parametr přesnost Nastavuje počet hodnot mantisy. Přesnost typů reálné a dvojité přesnosti závisí na konkrétní implementaci.

datum a čas

Typ dat "Datum / čas" Slouží k určení momentů času s některými nastavenými přesností. Standard SQL podporuje následující formát:

<тип_даты/времени>::=

(Datum | Čas [Přesnost] |

Časová značka [Přesnost])

Datum Data Type se používá k ukládání dat kalendářů, včetně let (rok) polí, měsíc (měsíc) a den (den). TypeTime type - ukládat časové známky včetně hodin (hodin), minuty (minuty) a druhé (sekundy). Typ typu TimeStamp - pro termíny spolupráce a času. Parametr přesnosti nastavuje počet zlomkových desetinných míst, která určují přesnost ukládání hodnoty ve druhém poli. Pokud je tento parametr snížen ve výchozím nastavení, jeho hodnota pro sloupce typu typu je přijata s nulou (tj. Je uložen), zatímco pro pole časové razítko je přijato rovna 6. Mít klíčové slovo s časovým pásmem určuje použití polí pro časové pásmo A TimeZone Minute, čímž se nastavit hodinu a minuty posunu zonálního času ve vztahu k době univerzálního souřadnic (Greenwich Time).

Intervalová data slouží k reprezentaci časových období.

Koncepce domény

Doména - Jedná se o sadu přípustných hodnot pro jeden nebo více atributů. Pokud existují sloupce se stejnými vlastnostmi v tabulce databáze nebo v několika tabulkách, můžete popsat typ takového sloupce a jeho chování prostřednictvím domény a pak vložte do řádku s každým ze stejných název domény. Doména Definuje všechny potenciální hodnoty, které lze přiřadit atributu.

Standard SQL umožňuje určit doménu pomocí následujícího operátora:

<определение_домена>::=

Vytvořit doménové jméno_domen

typ_data

[Výchozí hodnota]

[Kontrola (valid_stations)]

Každá vytvořená doména je přiřazena název, datový typ, výchozí hodnotu a sadu platných hodnot. Je třeba poznamenat, že daný formát obsluhy je neúplný. Nyní, při vytváření tabulky, můžete určit namísto typu názvu domény dat.

Vymazání domén z databáze se provádí pomocí operátora:

Drop domény_domen_nament [omezit |

Pokud zadáte klíčové slovo Cascade, všechny sloupce tabulky vytvořené pomocí vymazané domény budou automaticky změněny a popsány jako obsahující data typu, který byl zadán v definici vymazané domény.

Alternativa k doménám v prostředí SQL Server jsou typy uživatelských dat.

Datové typy použité v serveru SQL Server

Systémové datové typy

Jedním z hlavních okamžiků procesu vytváření tabulky - definice datových typů pro jeho pole. Typ datových datových dat určuje typ informací, které budou umístěny v tomto poli. Koncept datového typu v SQL Server je plně adekvátně koncept datového typu v moderních programovacích jazycích. Server SQL podporuje velký počet různých typů dat: text, číselné, binární (viz tabulka).

Uveďte stručný přehled typů dat SQL Server.

Pro skladování symbolických informací se používají symbolické typy datK čemu Char (délka), varchar (délka), nPHAR (délka), nvarchar (délka). Poslední dva jsou navrženy tak, aby ukládaly znaky Unicode. Maximální délka je omezena na 8000 znaků (4000 - pro znaky Unicode).

Skladování velkých objemových symbolických dat (až 2 GB) se provádí pomocí textových typů datových dat a ntext.

NA integerové typy dat Zahrnout Int (celé číslo), Smallint, Tinyint, Bigint. Pro skladování použitých integerových dat použitých, resp. 4 bajty (rozsah od -231 do 231-1), 2 bajty (rozsah od -215 do 215-1), 1 bajt (rozsah od 0 do 255) nebo 8 bajtů (rozsah od 0 do 255) nebo rozsah od -263 do 263-1). Objekty a výrazy typu celého čísla lze použít v matematických operacích.

Čísla, jejíž součástí je desetinná tečka, nejsou nazývány. Nepřesná data rozděleny do dvou typů - desetinný a přibližný.

NA desetinný Datové typy zahrnují desetinné typy [(přesnost [, stupnice])] nebo dec a číselní [(přesnost [, měřítko])]. Datové typy desetinné a číselné umožňují nezávisle určovat formát přesnosti plovoucího bodu. Parametr přesný na maximální počet čísel zadávání tohoto typu (před a po desetinném bodě částku) a parametr měřítka je maximální počet čísel uspořádaných po desetinném bodě. V normálním režimu umožňuje server zadat ne více než 28 číslic používaných v desetinných a číselných typech (od 2 do 17 bajtů).

NA přibližný Datový typ zahrnuje plovák (přesnost až 15 číslic, 8 bajtů) a reálné (přesnost až 7 číslic, 4 bajty). Tyto typy představují data ve formátu plovoucího bodu, tj. Mantissa a objednávka se používají k reprezentaci čísel, což zajišťuje stejný přesnost výpočtu, bez ohledu na to, jak málo nebo skvělé hodnoty je.

Pro ukládání informací o datum a čas Datové typy, jako je DateTime a SmalldateTime, které jsou používány k reprezentaci data a času 8 a 4 bajty, resp.

Peníze a malé datové typy dat umožnit ukládat informace o informacích o peníze; Poskytují přesnost hodnot až 4 pozemní značky a používají 8 a 4 bajty, resp.

Typ datového bitu. Umožňuje uložit jednu dávku, která bere hodnoty 0 nebo 1.

V prostředí SQL Server byla implementována série. zvláštní typy dat.

Datový typ Časová značka. Používá se jako indikátor změn ve verzi řetězce v databázi.

Datový typ Unikátní identifikátor Slouží k ukládání globálních jedinečných identifikačních čísel.

Datový typ Sysname. Určené pro identifikátory objektu.

Datový typ Sql_variant. Umožňuje ukládat hodnoty některého z datových typů podporovaných SQL Serverem s výjimkou textu, ntext, obrazu a časové razítko.

Datový typ StůlStejně jako dočasné tabulky, poskytuje skladování řádkových sad určených pro následné zpracování. Typ tabulky dat lze použít pouze k určení lokálních proměnných a vrácených uživatelskými funkcemi hodnot.

Datový typ Kurzor. Musíme pracovat s těmito předměty jako kurzory, a mohou být v poptávce pouze pro proměnné a parametry uložených postupů. Kurzory SQL Server jsou mechanismus výměny dat mezi serverem a klientem. Kurzor umožňuje klientským aplikacím pracovat s úplným datovým datem, ale pouze s jedním nebo více řádky.

1.1. Symbolické typy

1) Trvalé délky
Char () - Řádek textu ve formátu definovaném vývojářem. Přirozené číslo nastavuje řetězec.
V praxi je maximální počet znaků v rozsahu od 256 v MS SQL Server na 32767 v InterBase.
Char je interpretován jako char (1)

2) Linky s proměnlivou délkou
Varchar | Char Langeing [()] - Řetězec textu v proměnné délky ve formátu určeném vývojářem. Přirozené číslo nastavuje maximální řetězec, ale tabulka je přidělena pouze pod skutečnou délkou řetězce.

3) Funkce symbolických typů řady DBMS
V řadě DBMS například MS SQL Server, pokud char umožňuje , pak je interpretován jako varhar.
V Oracle, pro Varchar2 polí, si můžete rezervovat místo pro budoucí pole v každém bloku definováním možnosti PCTFree.

1.2. Číselné typy

1) Celé typy dat
Int. - číslo bez desetinného místa. Velikost závisí na specifickém provedení. Často je to 4 bajty.
Smallint. - Shoduje se s int, ale obvykle menší. Často 2 bajty.
Bigint. - Shoduje se s int, ale obvykle více velikosti. To je 4 nebo více bajtů.

2) reálná čísla s pevným bodem
DEC |)] - desetinné číslo s pevným bodem.
Číslo má:
- celkový počet významných desetinných výbojů, \\ t
- maximální počet výbojů vpravo od desetinného místa.

3) reálná čísla plovoucího bodu
Plovák. - Číslo plovoucího bodu uvedeného v exponenciální formě pro základnu 10. Maximální přesnost je nastavena.
Nemovitý - Shoduje se s plovákem, ale přesnost závisí na volbě implementace.
Doube. - shodovat se skutečným, ale přesnost může být více v konkrétním implementaci.

1.3. Data a typy času

Datum. - Datum ve formátu YYYYYY-MM-DD (ISO), MM / DD / YYYY (ANSI).
Čas. - Čas v formátu HH.MM.SS (ISO), HH: mm am / pm (ANSI).
Interval. - Datum a čas in Yryyy-mm-dd-hh.mm.ss.nnnnn (ISO) formát (ISO). (často časová značka).

Poznámka:
Typy data a času lze nastavit ve formě řetězců literálů.
Datum: 'yyyy-mm-dd', čas: 'hh.mm.ss',
Interval: 'yyyy-mm-dd-hh.mm.ss.n ... n'.

1.4. Logický typ

Boolean. - Logická hodnota (true, false, neznámá).
Pro správné pochopení pravdivé tabulky v třímístné logice (3VL) je možné, že false - 0, true -1 a neznámý - 0,5.
Pak:
- Provozovatel a vrátí nejmenší.
- nebo operátor je největší z počátečních hodnot.
- Není známo \u003d neznámý.

2. Sbírky

Sbírky skutečně porušují první normální formu (1NF).

2.1. Array.

[()] Pole - Sada stejného typu hodnot.

Poznámka:
Pole byly zavedeny do SQL: 99.
Příklad:
Takže definice ve všední dny Varchar (10) pole umožňuje uložit název všech sedm dní v týdnu v jednom poli.
Řada DBMS přiznává i vícerozměrná pole. Takže v interbase je možné až 16 změn, Clarion - 4.

2.2. Směs

[()] Multiset - Neomezená sada stejných hodnotových hodnot umožňujících duplikáty.
Hodnoty jsou vytvářeny projektantem - speciální funkce.

Poznámka:
Multisety byly zavedeny v SQL: 2003.

2.3. Anonymous Typ řetězce.

ŘÁDEK ([()], ...) - soubor diverzifikovaných hodnot, včetně investovaných.
Možnosti mohou zadat pořadí třídění pole typu řetězců a řady dalších instalací.

Příklad:
Definováním řádku adresy (State Char (6), město varchar (30), ulice varchar (50)) umožňuje uložit podrobnou adresu v jednom poli.

3. Druhy LOB.

CLOB (velký objekt velký) - chovat se v mnoha ohledech, jako jsou symbolové řetězce, ale jsou zakázány používat:
- V omezeních primárního klíče, jedinečného, \u200b\u200bcizího klíče.
- Ve srovnání jiných než čistých rovnosti nebo nerovnosti, v řádu a skupinou podle sekcí.
Blob (Binární velký objekt) - Byte Stream ve formátu, ve kterém je uživatel může nahrávat v databázovém sloupci.

3.1. Problémy s použitím LOB

1) Problémy s skladováním
Skladování LOB přímo v tabulkách spolu s jinými daty narušuje optimalizátor, založený na používání datových stránek, jehož velikost odpovídá velikosti stránek disku.
Proto je LOB uložen v samostatných oblastech (segmentech) paměti disku.

2) Problémy aktualizace
Vzhledem k tomu, že velikost LOB objektů může dosáhnout desítek a stovek megabajtů, je nemožné je uložit do nárazníků. Datový typ LOB se proto zpracovává v části, například skupiny stránek. V operátoři INSERT a UPDATE se speciální technologie používají ke zpracování v částech, což umožňuje vícekrát pro volání stejné funkce API pro jedno pole. Podobně při čtení dat výběrem a načítání operátorů.

3) Problémy s transakcí
Pro podpora transakcí vede většina DBMS protokol transakcí, ve kterém jsou zaznamenány kopie dat před a po úpravách.
Vzhledem k velkým velikostem však LOB není přihlášen do protokolu.

4) Problémy s dopravou v síti
Často klient a server pracují na různých počítačích a odesílání LOB přes síť, mohou přerušit práci každého, kdo používá síť v momentu dat.

4. Různé typy

4.1. Lokátor

Unikátní binární (čtyřbitová) hodnota (v deskriptoru OOP) uložená v databázi.
Popisuje v hlavním programu a platí až do konce transakce.
Navrženo pro manipulaci s hodnotami LOB (nebo pole) na straně klienta. Místo LOB, klient je odeslán odkaz na něj.
Můžete deklarovat: LOC: Integer jako lokátor.

4.2. Xml.

Hodnoty v podstatě jsou XML dokumenty.
Pro tento typ je definována řada operací, které poskytuje přístup k prvkům typu XML, transformací těchto dat a podobně.

4.3. Datové spojení

Datové odkazy jsou součástí SQL / MED 9075-9: 2003.
Datalink je speciální typ SQL určený pro ukládání adres URL v databázi, stejně jako řadu funkcí, které lze použít v SQL dotazů.
S funkcemi a podporovanými funkcemi naleznete na webových stránkách:
Wiki.postgresql.org/wiki/datalink.

Používá se v produktu DB2, Oracle - pro ukládání dat do externího souboru bfile.

Oddíl 3. Základy jazykaSql.

Přednáška 19. Skupiny operátorů. Typy dat

Jazyk relační databázeSql. byl vyvinut v polovině 70. let jako součást výzkumného projektu experimentálního relačního DBMSSystém r z IBM . Tento projekt zahrnoval rozvoj relačního DBMS a jazykaSequel (StructuRd anglický dotaz jazyk ). Tento název pouze částečně odráží podstatu jazyka. Jazyk byl zaměřen především na pohodlné a srozumitelné uživatele ve formulaci požadavků na relační databázi, ve skutečnosti to byl již plnohodnotný jazyk relační databáze a obsažený kromě formulace žádostí a manipulace s databází , následující prostředky:

· definice schématu databáze a manipulace;

· stanovení omezení integrity a spouštěčů;

· vytváření zobrazení databáze;

· definice struktur fyzikálních vrstev, které podporují efektivní dotazy;

· automatizace přístupu ke stolům a jejich polím;

· podpora transakcí a návratných bodů.

Koncem 70. let, korporaceVěštec Modifikovaná varianta jazyka byla vydánaPokračování. S názvemSql. . V roce 1983 společnostIBM vydala SQL jako součást DB 2 DBMS.

Jazyk SQL. Bylo to tak úspěšné, že o něco později, v roce 1986 Americký národní normalizační institut (ANSI. ) Přijato jako standard. Poté se standard již několikrát revidoval, v roce 1989, 1992 v důsledku jazykaSql. Byly provedeny některé drobné změny. V současné době je nejběžnější normaSQL -92.

Typy příkazůSql.

Jazykové příkazy SQL. Podmíněně lze rozdělit do skupin:

· Dcl. ( Data. Řízení Jazyk.) - Jazyk správy dat. Příkazy jazyků jsou navrženy tak, aby řídily přístup k informacím uloženým v databázi. (Tabulka 19.1);

· DDL (jazyk definice dat) - Jazyk definice dat. Jeho příkazy se používají k vytvoření a úpravě struktury objektů BD (tabulka 19.2);

· DML. ( Data. Manipulace Jazyk.) - Jazyk manipulace s daty. Slouží k manipulaci s informacemi obsaženými v objektech BD (tabulka 19.3);

· DQL. ( Data. Dotaz. Jazyk.) - Datové dotazy jazyk. Nejčastěji používaná skupina skládající se pouze z jednoho operátoraVYBRAT určené pro tvorbu databází (tabulka 19.4);

· Tcl (Transakce. Řízení Jazyk.) - jazyk řízení transakcí (tabulka 19.5);

· CCL (jazyk řízení kurzoru ) - Řízení kurzoru (tabulka 19.6);

Jazyk SQL je Necrossour, ale v prostředí SQL Server existuje řada různých řídicích struktur, bez kterého není nemožné psát účinné algoritmy, jako jsou držáky obsluhy, podmínky cyklů atd.

Tabulka 19.1 - nástroje pro správu datDcl.

Operátor

Popis

Změnit databázi.

Změna sady základních objektů BD

ALTER DBAREA.

Změna existující oblasti databáze úložiště

Změnit heslo.

Změní heslo pro celou databázi

Vytvořit databázi.

Vytvoří novou databázi a definuje své hlavní parametry

Vytvořit DBAREA.

Vytvoří úložiště a je k dispozici pro umístění dat.

Drop Database.

Odstraňuje databázi (s právy)

Drop DBarea.

Odstraní úložiště, pokud nejsou aktivní data k dispozici

GRANT.

Poskytuje přístupová práva k akci s objekty BD

Zrušit

Zavrožuje přístupová práva k objektům BD nebo výše akcí s objekty BD

Tabulka 19.2 - Operátoři definice datDdl.

Operátor

Popis

Vytvořit stůl

Vytvoří novou tabulku v databázi

Drop tabulka

Odstraní existující tabulku z databáze

Změnit tabulku

Změna struktury tabulky nebo limit tabulky

Vytvořit zobrazení.

Vytvoří prezentaci (virtuální tabulka) odpovídající některýmSQL Query.

Pohled.

Odstraní dříve vytvořený pohled

Změnit zobrazení.

Změní existující zobrazení

Vytvořit index

Vytvoří index pro určitou tabulku

Drop Index.

Odstraní existující index

Tabulka 19.3 - Operátory manipulace s datyDml.

Operátor

Popis

Vymazat.

Odstraní jeden nebo více záznamů podle podmínek výběru. Použití provozovatele je v souladu se zásadami podpory pro referenční integritu, takže operátor není vždy prováděn správně, i když syntakticky zaznamenaná správně

Vložit.

Vloží jeden nebo více záznamů podle stavu výběru, v základní tabulce

Aktualizace.

Aktualizuje hodnoty jedné nebo několika polí v jednom nebo více záznamech odpovídajícím podmínkám výběru

Tabulka 19.4 - Jazyk požadavků na dataDQL.

Operátor

Popis

VYBRAT

Provozovatel splňující možnosti relační algebry. Umožňuje vytvořit výsledek, který odpovídá požadavku.

Tabulka 19.5 - Nástroje pro správu transakcíTcl.

Operátor

Popis

SPÁCHAT.

Dokončete transakci (komplexní propojené zpracování informací v kombinaci v transakci)

Rollback.

Vrácení transakce (zrušení změn provedených během transakce)

SavePoint.

Udržuje mezilehlý bod (stát) databáze, realizovat možnost návratnosti

Tabulka 19.6 - Kurzorové ovládání sCl.

Operátor

Popis

Prohlásit.

Definuje kurzor pro požadavek

Otevřeno.

Otevře kurzor (tvoří virtuální ND odpovídající popis kurzoru)

Vynést

Čte další řetězec z virtuálního nd otevřeného kurzoru

Zavřít

Zavře otevřené kurzorem

Připravit

Připravuje příkaz SQL na dynamické provedení

Vykonat.

Provádí příkaz SQL dříve připravený pro dynamické provedení

Typy jazykových dat Sql.

Jazyk SQL má šest typů skalárních dat definovaných standardem. Jejich stručný popis je uveden v tabulce 19.7

Tabulka 19.7 - Typy datového jazykaSql.

Datový typ

reklamy

Symbol

Char | Varchar.

Bit

Bit | Bitů.

Přesná čísla

Numeric | Desetinný | Integer | Smallint.

Reálná čísla

Float | Skutečný | Dvojitá přesnost

Čas schůzky

Datum | Čas | Časová značka.

Interval

Interval.

Typy řetězců:

§ Znak (n) nebo char (n) - symbolické linie konstantní délky vn. Symboly. Při určování tohoto typu je vždy uvedena každá hodnotan. a pokud skutečná hodnota trvá méně nežn. Symboly, pak DBMS automaticky doplňuje chybějící znaky s mezerami.

§ Varchar (n) - struny znakových variabilních znaků.

Typy bitů:

§ v něm. (P) - řetězec stálé délky.

§ Bitové měnící se (n) - řetězec bitů variabilní délky.

Přesné typy:

§ Číselná [(n, m)] - Přesná čísla, zde a celkový počet čísel v číslech. LE, M - počet čísel nalevo od desetinného místa.

§ DECIMAL [(n, m)] - Přesná čísla, zde n - celkový počet číslic mezi číslem m je počet čísel nalevo od desetinného místa.

§ DEC [(n, m)] - stejný jako desetinný. [(N, m)].

§ Celé číslo nebo intigny.

§ Smallint - celá čísla menšího rozsahu.

Skutečné typy:

§ Float [(n)] - počet velkých přesností uložených v tvaru plovoucí desetinnou čárkou. Tadyn. - počet bytů, vyhrazeno pro ukládání jednoho čísla. Rozsah čísel je určen specifickou implementací.

§ Real je skutečný typ čísel, která odpovídá číslováním plovoucího bodu menší přesnost než plovák.

§ Dvojitá přesnost Určuje typ dat s poněkud definovanou přesností větší než definovaná přesnost pro reálné.

Druhy data / času a intervalu:

§ Datum - Datum kalendáře.

§ Časový formát času.

§ t i i s TAM (přesnost) - datum a čas.

§ Interval - časový interval.

Většina komerčních DBMS podporuje další typy dat, které nejsou specifikovány ve standardu. Například téměř všechny DBMS v jedné formě nebo jiné podporují typ dat pro zobrazení nestrukturovaného textu velkého objemu. Tento typ je podobný typu Memo v Desktop DBMS. Tyto typy se nazývají odlišně, například v Oracle, tento typ se tento typ nazývá dlouhý, v DB2 - Dlouhá varhar, v Sybase a MS SQL Server - Text.

Otázky řízení

1. Co je jazykSQL?

2. Co je běžné mezi jazykemSql. a relační algebra?

3. Jaké fondy zahrnují jazykSQL?

4. Jaké typy příkazů jsou zvýrazněny v jazyceSQL?

5. DML.

6. Pojmenujte hlavní příkazy jazykaDDL.

7. Pojmenujte hlavní příkazy jazykaDcl.

8. Pojmenujte hlavní příkazy jazykaDQL.

9. Pojmenujte hlavní příkazy jazyka správy transakcí.

10. Pojmenujte hlavní typy jazykových datSQL.

11. Pojmenujte typy řetězců jazykových datSQL.

12. Název číselných typů jazykaSQL.

13. Jméno typy zobrazení data a času.