For faster navigation, this Iframe is preloading the Wikiwand page for dBase.

dBase

dBase
Logo
VývojářWayne Ratliff a Ashton-Tate
Aktuální verzedBASE® 2019.1 (2019)
Operační systémDOS
CP/M
Vyvíjeno vjazyk symbolických adres
Typ softwarusystém řízení báze dat a programovací jazyk
Webwww.dbase.com
Některá data mohou pocházet z datové položky.

dBase byl první masověji rozšířený systém řízení báze dat (SŘBD, DBMS) pro mikropočítače, který byl publikován americkou firmou Ashton-Tate pro CP/M. A později pro Apple II, Apple Macintosh, UNIX[1], VMS[2] a IBM PC pod DOS,kde se na mnoho let stal jedním z nejprodávanějších softwarových titulů. dBase pomalu úspěšně přecházel pod Microsoft Windows a pozvolna uvolňoval podíl na trhu svým konkurentům Paradox, Clipper, FlagShip, FoxPro a Microsoft Access. dBase byl prodán Borlandu v roce 1991, který prodal práva k této sortimentní skupině v roce 1999 tehdy nově vzniklé společnosti dBase Inc. V roce 2004 dBase Inc. změnila svůj název na dataBased Intelligence, Inc.

Vznik dBase

[editovat | editovat zdroj]

Původním vývojářem dBase byl Wayne Ratliff.[3] V roce 1978 Ratliff napsal databázový program v assembleru pro mikropočítače založené na CP/M, aby mu pomohl vyhrát kancelářskou fotbalovou sázku. Založil ho na JPLDIS (Jet Propulsion Laboratory Display Information System) Jeba Longa a nazval ho "Vulcan" po panu Spockovi ze seriálu Star Trek. Podle Ratliffa byl jazyk použitý v JPLDIS jednoduchý. Jsou zde známky toho, že JPLDIS byl ovlivněn mainframovským databázovým produktem zvaným RETRIEVE.

Na počátku 80. let 20. století, George Tate z Ashton-Tate uzavřel s Ratliffem obchodní dohodu. Vulcan se přejmenoval na dBase a software rychle vzrostl na popularitě.

Nedávná historie

[editovat | editovat zdroj]

dBase byl zařazen mezi moderní objektově orientované jazyky, které běží na 32bitových Windows. Může být použit k výstavbě aplikací se širokým využitím, např. webové aplikace provozované na Windows serveru. dBase má přístup k většině moderních databází pomocí rozhraní ODBC.

Počátkem poloviny osmdesátých let 20. století mnoho jiných společností přišlo s vlastními variantami daného produktu a jazyka. Tyto zahrnovaly FoxPro (nyní Visual FoxPro), Arago, Force, dbFast, dbXL, Quicksilver, Clipper, Xbase++, FlagShip, Recital Terminal Developer, CodeBase, MultiBase a Harbour/XHarbour. Dohromady jsou označovány jako xBase.

Výchozím formátem pro dBase je soubor .dbf. Ten se hojně využívá v mnoha dalších aplikacích, kde je potřeba jednoduchý formát pro uchování strukturovaných dat. V současné době mu ale v tomto ohledu konkuruje SQLite.

Pro každou tabulku byl jeden soubor .dbf. Extra soubory dBase vytvářela pro sloupce typu memo (v souboru .dbt; viz dále) a pro index (.idx) nebo indexy (.mdx). Organizace tabulek do databází na úrovni SŘBD neexistovala, stejně jako např. pohledy, cizí klíče, triggery a jiné prvky pozdějších databázových systémů. Přístup více uživatelů řešily jednotlivé aplikace na úrovni operačního systému. Přístupové údaje pro přístup k tabulkám chyběly.

Jméno tabulky bylo určeno jménem souboru. Soubor na začátku obsahoval definici sloupců, následovanou jednotlivými řádky. Sloupce mohly mít název dlouhý maximálně 11 znaků a mohly být těchto typů (první písmeno je kód typu, používaný v souboru):

  • C – řetězec (v SQL typ char) se specifikovanou délkou (maximálně 255 znaků)
  • L – logická hodnota (s hodnotami Y nebo T pro pravdu, N nebo F pro nepravdu)
  • N – číslo, u kterého lze specifikovat maximální počet číslic
  • F – číslo, u kterého lze specifikovat maximální počet desetinných míst
  • D – datum (v SQL typ date) od roku 0000 do roku 9999
  • M – memo (v SQL typ text) text do délky 64 KiB, ukládaný do souborů .dbt

Řádky měly stejnou délku (kratší řetězce se doplňovaly \0 zprava a čísla nulami zleva), takže šly rychle procházet. Každý záznam obsahoval indikátor platnosti. Mazání záznamů sestávalo samotné indikace neplatnosti. Tím ale vznikala fragmentace. Pro optimalizaci velikosti se tedy dal soubor zabalit/spakovat (program v něm prošel všechny záznamy a ty platné záznamy srotil k začátku souboru a zbytek souboru „usekl“).

Obsah souborů .dbt je rozsekaný na základní bloky o délce 512 bajtů. Tyto bloky jsou interně číslovány (počínaje nulou) a v souboru .dbf je u sloupců typu memo uloženo, kde (na bloku jakého čísla) začíná odpovídající text. Text je vždy doplněný na nejbližší násobek čísla 512.

V tomto článku byl použit překlad textu z článku DBase na anglické Wikipedii.


  1. Borland®/Inprise®/AshtonTate®/dBASE Inc.® dBASE® for Sale [online]. Dostupné online. 
  2. dBASE IV for VMS and UNIX : a technical support approach [online]. Dostupné online. 
  3. The History of FoxPro [online]. Dostupné online. 

Externí odkazy

[editovat | editovat zdroj]
{{bottomLinkPreText}} {{bottomLinkText}}
dBase
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?