SQL server Firebird - výhody, nevýhody, zkušenosti

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod anonymni 18. 1. 2008 10:52

Pište své názory na tento SQL server.
No flamewars pls.
anonymni

Odeslat příspěvekod pepák 18. 1. 2008 11:47

Používám ho a mám ho docela rád. Má svoje nedostatky, zejména ve starší verzi 1.5, na kterou jsem vázán, ale nic, co by se nedalo překonat. Výhodou je jednoznačně snadná instalace a velice dobrá odolnost vůči poškození, dostatek nástrojů pro správu a podobně.
pepák
Junior

Odeslat příspěvekod yanick 18. 1. 2008 12:02

"Ok, mozme tu vytvorit forum o SQL serveroch, ak tam niekto nevyvola flame, moze to byt celkom poucne " - citat z http://www.zive.cz/default.aspx?section ... 9908&forum

Myslel som na vseobecne jsi topic, ale nevadi, tu by nikomu nemalo vadit, ze sa mozno spomenu aj ine SQL servery :-)

Firebird mi prvykrat spomenul kamarat pred cca rokom, ked na firme hladali SQL server, vahali medzi PostgreSQL a Firebird, nakoniec sa rozhodli pre Firebird. Tvrdi, ze je spokojny :-)

Ako je to s podporou transakci/subquery/triggerov a pod, mam dojem, ze verzia 1.5 este nemala kompletnu podporu
yanick
Junior

Odeslat příspěvekod anonymni 18. 1. 2008 12:13

Už Firebird 1.0 měl kompletní podporu pro triggery, SP apod. Firebird vychází z uvolněných zdrojáků Interbase verze 6 a v novějších verzích značně rozšiřuje / opravuje funkčnost původní IB.
anonymni

Odeslat příspěvekod pepák 18. 1. 2008 12:22

1.5 umi transakce i triggery kompletne, subselecty jen omezene (jde je pouzit do IN (...), ale neda se z nich udelat primo SELECT). E.g.

SELECT * FROM tabulka WHERE neco IN (SELECT ...)
funguje

SELECT * FROM (SELECT ...)
nefunguje
pepák
Junior

Odeslat příspěvekod anonymni 18. 1. 2008 12:31

Select * from (select...) funguje od verze 2
anonymni

Odeslat příspěvekod yanick 18. 1. 2008 12:36

[quote="pepák";SELECT * FROM (SELECT ...)
nefunguje[/quote]

A je podpora pre docasne tabulky? MySQL alebo Firebird nemal, ale neviem ktory presne :-)

Mne by docasne tabulky chybali, ale da sa na to zvyknut, len by som musel viac dbat na poriadok :-)

Upravene:
tak podporuje od verzia 2.0
yanick
Junior

Odeslat příspěvekod anonymni 18. 1. 2008 12:42

Verze 2 obecně přináší celkem průlomové novinky a tmp tabulky je jedna z nich. Nicméně v naší databázi jsme temp tabulku potřebovali pro verzi 1.5 což jsme šalamounsky vyřešili jen přidáním jedné položky do primárního klíče té tabulky. A od toho okamžiku temp tabulky vůbec nepotřebuji a hlavně je zaručeno, že klientská aplikace opravdu nikdy neposílá do databáze DDL příkazy.
anonymni

Odeslat příspěvekod yanick 18. 1. 2008 12:50

Pre tych, ako ja, co nevedeli, co je to DDL, tak he to cast SQL en.wikipedia.org/wiki/Create_(SQL) :-)

Ak to nie je know-how, ako ste to urobili? ;-)
yanick
Junior

Odeslat příspěvekod anonymni 18. 1. 2008 12:58

DDL - Data Definition Language - Jazyk pro definici dat (tedy příkazy typu CREATE, ALTER, DROP, DECLARE apod.)
DML - Data Manipulation Language - Jazyk pro manipulaci s daty (pouze příkazy SELECT, UPDATE, INSERT, DELETE)
to jen tak na okraj :-)

No udělal jsem to takhle:
Požadovanou strukturu tabulky jsme v primárním klíči rozšířili o sloupec typu Integer (říkejme mu TMP_ID), který obsahuje generátorem definovanou hodnotu. Aplikační programátor si prostřednictvím frameworku nejdříve vyžádá hodnotu nového TMP_ID z generátoru a to poté používá při manipulaci s daty v té tabulce. V okamžiku, kdy data už nepotřebuje tak je smaže. Pokud zapomene nevadí - během převodu databáze jsou všechny data vymazána a generátor nastaven na hodnotu 0.
anonymni

Odeslat příspěvekod yanick 18. 1. 2008 13:11

Nasiel som to na wikipedii, ale zive.cz tu linku zmrzacilo, tak som to sem dal bez http:/ / :)

Cize mate "ostre" ID a docasne, zaznamy, zaznamy, ktore TMP_ID maju 0/NULL, su docasne ostatne su ostre? Tym padom su v tabulke aj docasne aj ostre data?
Ale zas nemusite mat 400 tabuliek navyse(maximalne, keby bolo treba docasnu tabulku ku kazdej tabulke), kvoli rozdielnosti struktur a nenafukuje to zbytocne databazu. Zaujimavy napad :-)
yanick
Junior

Odeslat příspěvekod anonymni 18. 1. 2008 13:17

ne ne - tabulka je definována jen pro dočasná data. Pro ostrá data jsou určeny jiné tabulky (v tomto jediném případě jsou dočasná data jen součtovaná ostrá data z důvodu rychlostních optimalizací). Tento typ tabulky je použit pouze v jednom jediném exempláři mezi všemi dalšími tabulkami. Sloupec, který je součástí primárního klíče musí být definován s constraintem NOT NULL - alespoň pro Firebird to tak platí.
anonymni

Odeslat příspěvekod yanick 18. 1. 2008 14:36

Aha, ja som si myslel, ze je to "bezna" docasna tabulka, ked si treba "odlozit" udaje. V byvalej firme, tak kolega riesil napr. upgrade struktury databazy, odlozil si udaje, zmenil strukturu a potom dal udaje nazad. Pouzivali sme MSSQL2005, ktora ma max. velkost databazy 2gb, cize pri gigovej databaze upgrade nepresiel, lebo nebolo kam ukladat :-) Pochopilne, nastal rollback a nic sa nestalo

Uprava 1:
MSSQL2005 - myslim Express edition

Uprava 2:
podla primarneho kluca sa indexuje, takze kazdy zaznam musi byt jednoznacny, takze podla tohto dedukujem, ze to tak musi byt aj inde. Viem, ze na mssql a postgresql to tak je
yanick
Junior

Odeslat příspěvekod Brzi 18. 1. 2008 14:53

Nevim, ale jestli se nepletu, tak MS SQL 2005 Express Edition ma omezeni na velikost databaze 5GB, 1 procesor, a 1GB RAM. Vic nic. Dokonce ani pocet soucasne pripojenych klientu neni omezen (v MSDE 2000 bylo omezeno na 5)
Brzi
Kolemjdoucí

Odeslat příspěvekod yanick 18. 1. 2008 15:04

Limit databazy je na 4GB, myslel som si, ze na 2 http://www.microsoft.com/sql/prodinfo/f ... tures.mspx

Mozno si to mylim s MSDE, tam boli 2GB
http://databases.aspfaq.com/database/wh ... -msde.html
yanick
Junior

Další stránka

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků