Posted By: medved (A~z na v~eky Mikov~ce.) on 'CZdatabases' Title: Re: Samoinkrementujici sloupce - ANSI normy Date: Thu Nov 4 10:17:17 1999 > > Problem je v tom, ze se sice specifikuje norma (ANSI SQL 89), ale vyvoj > jde > > dal. DB dodavatele pridavaji nove vlastnosti (ktere nejsou v norme ANSI > 89) > > a > > po case se sejdou a nastane boj o to, ci syntaxe se stane standardni. > > > > Vetsinou je vysledek takovy, ze od kazdeho vyrobce je tam trochu syntaxe a > > nova norma obsahuje radu podtrid (entry-level ANSI SQL 92). > > ??? veci tykajici se normem SQL jsem pomerne dobre zpracoval v me DP, > ani > muj vedouci, odbornik na slovo vzaty v modelovani systemu a v databazich k > tomu po 2 letech vypracovavani (vzdy nejake slovo nesedelo dle > skutecnosti;-) > jiz k te me historii SQL nemel zadne vyhrady, takze bych to velmi kratce > uvedl: > > SQL86 - 1. norma, mela 2 varianty entry-level a 2., jejiz nazev si z hlavy > > SQL89 - spousta veci se do SQL 86 nevesla diky snaze o co nejrychlejsi > > SQL92 - nic moc noveho pod sluncem, doplneny integritni omezeni, rozsireni > syntaxe nekolika prikazu (napr. select) SQL92 urcite obsahuje ten 'entry level' a zavadi natvrdo syntaxi outer joinu apod. (v SQL89 se jednalo o doporuceni) > Dalsi SQL norma neni, pripravovana je nova, drive pracovne nazyvana SQL97 > (tento termin jaxu prosvihla), proto byly schvaleny samostatne rozsireni, > resp. dokumenty jako Definice pro perzistentni objekty atd... Snad se to ma jmenovat SQL99 - ale to maji jen 2 mesice ;-) > Snahou vyrobcu je samozrejme prosadit vzdy to sve reseni, casto jsou to vsak > reseni hloupa, omezena, poplatna necemu, coz se nastesti SQL v norme pomerne > uspesne vyhyba (na rozdil od HTML), co se v norme je obecne a pouzitelne > vesmes vsude. A naopak se nekdy dostanou do SQL normy takove voloviny, ze to snat nemuze byt nahoda... Ale dam priklad 'normy': Chovani unique indexu pri hodnote null - ANSI rika, ze null hodnot muze byt libovolne mnozstvi (protoze null=null neni nikdy true). Naproti tomu Oracle ma natvrdo v sobe, ze null hodnota muze byt v unique indexu prave jen jednou. Na tomto principu je postaveno mnoho ERP baliku jako SAP R/3, PeopleSoft, BAAN.., ktere by bez teto vlastnosti nefungovaly spravne. Proto se vsechny ostatni databaze, ktere chteji byt nasazeny s ERP baliky chovaji jako Oracle (i Sybase ASE ;-) - holt Oracle v ERP jasne vede. V oblasti financnich systemu zase vsichni kopiruji databaze Sybase... Jediny, kdo se o tyto trendy nemusi starat je Microsoft, jelikoz ma takovou trzni silu, ze dokaze prinutit k upravam prave vyrobce ERP. > > Shrnuto a podtrzeno: nova norma vzdy standardizuje nejake nove veci, ktere > > ale > > rada databazi jiz dlouho dela jinak... > > Jiste, ale pokud produkt o sobe tvrdi, ze plne implementoval SQL89 > normu, > mas v podstate vyhrano, protoze cokoli jsi v podstate schopen pomoci tohoto > SQL vytvorit, pripadne si pomuzes hostitelskym prostredim jako C/C++, > PL/SQL, > 4GL atd... Mozna bych jeste doporucil pouzivat dvouurovnoveho datoveho modelovani (pokud to delas v CASE nastroji) - platformove nezavisly konceptualni model a platformove zavisly fyzicky model pro konkretni databazi. > > BTW sekvence jsou myslim v Oracle (a snad i v Informixu). Definuje se > myslim > > Sequence by mely byt v kazdem produktu tvrdiciho o sobe, ze > implementuje > SQL89 - mam za to, ze norma definuje sequence prave zde...(tedy jiz pred 10 > lety...;-) Mam takovy dojem, ze SQL89 obsahovala jen nejaka dost vagni doporuceni ohledne 'sekvencni' funkcionality. Az SQL92 plne definuje sytaxi teto funkcionality. > ..s usmevem a laskou jde vsechno lip, nezapominejte na to v zivote.. > > > PaJaSoft Bye Medved Si vis pacem, para bellum.