Prehľad softvérových nástrojov na vytváranie databáz. Vývoj databázových aplikácií pomocou InterBase API

  • 29.07.2019

Tvorba aplikácií pre prácu s databázami.

Databázy sa používajú, keď potrebujete pracovať s veľkým množstvom údajov.

Relačná databáza je súbor tabuliek, procedúr a iných objektov, ktoré podporujú jej činnosť. Stôl má názov- identifikátor, pomocou ktorého sa naň možno odvolávať. Vzorová tabuľka údajov o zamestnancovi Pers:

číslo

Oddelenie

Priezvisko

názov

Priezvisko

Rok narodenia

Poschodie

Charakteristický

Fotka

Num

Odd

Fam

Nám

Par

Rok_b

Sex

Charakter

Foto

Učtáreň

Ivanov

Ivan

Ivanovič

1950

Workshop 1

Petrov

Peter

Petrovič

1960

Workshop 2

Sidorov

Sidor

Sidorovič

1955

Workshop 1

Ivanova

Irina

Ivanovna

1961

Stĺpce tabuľky zodpovedajú charakteristike objektov – polí. Každé pole je charakterizované názvom a typom uložených údajov. Názov poľa Ide o identifikátor, ktorý sa používa v rôznych programoch na manipuláciu s údajmi. Ako každý identifikátor, názov poľa môže pozostávať iba z latinských písmen, iba jedného slova atď. (riadok 2 v tabuľke).

Typ poľa charakterizuje typ údajov uložených v poli. Môžu to byť reťazce, čísla, booleovské hodnoty, veľké texty (napríklad charakteristiky zamestnanca), obrázky (fotografie zamestnancov) atď.

Každý riadok tabuľky sa zhoduje s jedným z predmetov. To sa nazýva nahrávanie a obsahuje hodnoty všetkých polí, ktoré charakterizujú daný objekt.

Pri vytváraní databázových tabuliek je dôležité zabezpečiť, aby boli informácie konzistentné. Zvyčajne sa to robí zavádzaním kľúčové polia- zabezpečenie jedinečnosti každého záznamu. Kľúčové môže byť jedno alebo viac polí. V uvedenom príklade by bolo možné vytvoriť kľúčovú množinu polí Fam, Nam, Par... Ale v tomto prípade by nebolo možné zadať do tabuľky informácie o úplných meninách, ktorí majú rovnaké priezvisko, krstné meno a priezvisko. Preto sa do tabuľky zapíše prvé pole Num- číslo, ktoré sa môže stať kľúčovým, aby sa zabezpečila jedinečnosť každého záznamu.

Pri práci s tabuľkou sa zdá, že používateľ alebo program posúva kurzor po záznamoch. V každom okamihu je nejaký prúdu záznam, s ktorým sa práca vykonáva. Záznamy v dátových tabuľkách je možné usporiadať bez poradia, len v poradí ich zápisu (vznik nových zamestnancov). Ale keď sú tabuľky prezentované užívateľovi, musia byť objednané. Používateľ ich môže chcieť zobraziť abecedne alebo zoradené podľa oddelenia, veku atď.

Pre objednávanie údajov sa používa koncept index... Index ukazuje, v akom poradí je vhodné pozrieť si tabuľku. Je akoby sprostredkovateľom medzi používateľom a stôl:

Indexy môžu byť primárny a sekundárne.
Napríklad primárny index môžu byť polia označené ako kľúčové pri vytváraní databázy. A sekundárne indexy je možné vytvárať z iných polí ako pri vytváraní samotnej databázy, tak aj neskôr v procese práce s ňou. Sekundárnym indexom sú priradené názvy – identifikátory, podľa ktorých môžu byť použité.
Databáza zvyčajne neobsahuje jednu, ale veľa tabuliek. Napríklad databáza o určitej organizácii môže obsahovať tabuľku divízií dostupných v nej s charakteristikami každej z nich.
Dep tabuľka s poliami Odd a Proisv

V prepojených tabuľkách sa zvyčajne jedna zobrazí ako Domov, a druhý alebo niekoľko ďalších - ako pomocné, riadené hlavným. Hlavné a vedľajšie tabuľky sú navzájom prepojené kľúč... Niektoré polia, ktoré sú prítomné v oboch tabuľkách, môžu fungovať ako kľúč.

V príklade môže byť hlavný stôl Odd, pomocný Pers a môžu komunikovať v teréne Odd prítomný v oboch tabuľkách.

Každý záznam v hlavnej tabuľke Odd tie záznamy pomocnej tabuľky zodpovedajú pers, v ktorom je kľúčové pole Odd s názvom oddelenia je rovnaký ako názov oddelenia v aktuálnom zázname hlavnej tabuľky. Inými slovami, ak je v aktuálnom zázname hlavnej tabuľky v poli Odd je tam napísané "Účtovníctvo", potom v pomocnej tabuľke Pers všetky záznamy účtovných zamestnancov sú zvýraznené.

Vytvárajte databázy a spracovávajte požiadavky na ne systémy správy databáz - DBMS: Paradox, Microsoft Access, FoxPro, Oracle, InterBase atď.

Rôzne DBMS organizujú a ukladajú databázy rôznymi spôsobmi. Paradox používa jeden súbor pre každú tabuľku. Microsoft Access a InterBase ukladajú viacero tabuliek ako jeden súbor. V tomto prípade je databáza názov súboru s cestou k nemu. Klient / server systémy (Sybase, Microsoft SQL, Oracle) uchovávajú všetky dáta na samostatnom počítači a komunikujú s klientom pomocou špeciálneho jazyka - SQL.

Aliasy databázy sa používajú na zefektívnenie volaní databázy. Alias ​​(alias) obsahuje všetky informácie potrebné na poskytnutie prístupu do databázy. Tieto informácie sa poskytujú iba raz pri vytváraní aliasu. A aplikácia používa na komunikáciu s databázou pseudonym. Aplikácii je v tomto prípade jedno, kde sa databáza fyzicky nachádza a často sa nestará ani o DBMS, ktorý túto databázu vytvoril a udržiava. Pri zmene adresárového systému, servera atď. v aplikácii nemusíte nič meniť. Postačuje, aby správca databázy zadal do aliasu príslušné informácie.

Ukladanie do vyrovnávacej pamäte Všetky zmeny znamenajú, že všetky zmeny údajov, vkladanie nových záznamov, mazanie existujúcich záznamov uskutočnené používateľom sa najskôr vykonajú nie v samotnej databáze, ale sú uložené v pamäti v dočasnej virtuálnej tabuľke. A iba špeciálnym príkazom, po všetkých kontrolách správnosti údajov zadaných do tabuľky, má používateľ možnosť buď vykonať všetky tieto zmeny v databáze, alebo ich odmietnuť a vrátiť sa do stavu, ktorý bol pred začiatok úpravy.

Potvrdenie zmien v databáze sa vykonáva pomocou transakcií... Je to súbor príkazov, ktoré upravujú databázu. Používateľ má možnosť dokončiť transakciu buď vykonaním všetkých zmien v skutočnej databáze, alebo sa z nej vrátiť späť a vrátiť sa do stavu, ktorý bol pred začatím transakcie.

VybavenieDelphi, určený na vývoj a prevádzku aplikácií, ktoré využívajú databázy:

BDE (Borland Database Engine) – databázový stroj Borland. Ide o sadu knižníc DLL, ktoré poskytujú nízkoúrovňový prístup k lokálnym databázam a databázam klient-server. Musí byť nainštalovaný na každom počítači, ktorý používa databázové aplikácie napísané pre Delphi.

SQL Links - ovládače pre prácu so vzdialenými dátovými servermi (MS SQL Server, Oracle)

BDE Administrator je utilita na nastavenie databázových aliasov (názvov), parametrov databázy a databázových ovládačov na konkrétnom počítači. Pri práci s databázou z aplikácie vytvorenej pomocou Delphi sa k databáze pristupuje pomocou jej aliasu. Parametre definované aliasom databázy sú platné len pre túto databázu; parametre nastavené pre ovládač databázy platia pre všetky databázy používajúce ovládač. Okrem toho môžete nastaviť také parametre spoločné pre všetky databázy, ako je formát dátumu a času, formáty číselných hodnôt, použitý jazykový ovládač atď.

Databáza Desktop (DBD) - nástroj na vytváranie, zmenu a prezeranie databázy. Tento nástroj je primárne zameraný na prácu s tabuľkami lokálnych DBMS, ako je Paradox. S určitými obmedzeniami je možné vytvárať a prezerať tabuľky databáz bežiacich pod kontrolou serverov: InterBase, MS SQL Server, Oracle.

DBD umožňuje programátorovi vytvoriť dotaz do databázy pomocou metódy QBE (Query By Example).

SQL Explorer je všestranný nástroj, ktorý kombinuje mnohé funkcie správcu BDE a DBD. S jeho pomocou môžete vytvárať a prezerať aliasy databáz, prezerať štruktúry a obsah databázových tabuliek, generovať dotazy do databázy v SQL, vytvárať dátové slovníky (šablóny polí tabuliek).

SQL Monitor je nástroj na sledovanie vykonávania SQL dotazov.

Nevizuálne komponenty pre prácu s databázou – slúžia na prepojenie aplikácie s databázovými tabuľkami v lokálnych a distribuovaných systémoch. Nachádzajú sa na stránke Prístup k údajom palety komponentov. Pomocou nevizuálnych komponentov sa môžete pripojiť k databázam, vytvárať do nich dotazy a manipulovať s tabuľkami.

Vizuálne komponenty pre prácu s databázou - určené na vizualizáciu záznamov datasetov alebo ich jednotlivých polí. Tieto komponenty sa nachádzajú na stránke Data Controls palety komponentov. Slúžia ako primárny vývojový nástroj pre používateľské rozhranie pre prístup k údajom.

Vlastnosti programov na prácu s databázami.

Charakteristickou črtou programov na prácu s databázami vytvorenými v Delphi je nepostrádateľné použitie BDE v nich. (procesor relačnej databázy Databázový stroj Borland zahrnuté v Delphi), ktorý funguje ako spojovací most medzi programom a databázou.


BDE preberá všetku prácu na nízkej úrovni, aby poskytol klientskemu programu údaje, ktoré potrebuje, preto vo všeobecnom prípade program interaguje s údajmi takto:

BDE nie je súčasťou programu. V závislosti od typu DBMS sa môže nachádzať na počítači klienta alebo servera.

Zvyčajne medzi programom a BDE existuje vrstva komponentov, ktoré výrazne zjednodušujú vývoj programov. Nevizuálne komponenty pracujú priamo s BDE a tri z nich (TTable, TQuery, TStoredProc) slúžia ako množiny údajov, zatiaľ čo vizuálne komponenty zobrazujú im dodané údaje a slúžia na vytvorenie užívateľsky príjemného rozhrania. Medzi množinami údajov a vizuálnymi komponentmi sú vždy komponenty TDataSource, ktoré zohrávajú úlohu ventilov, ktoré otvárajú alebo zatvárajú toky údajov, ktoré sa vymieňajú medzi zdrojmi a vizuálnymi komponentmi (pozri obrázok).

Niektoré podporované vTypy Delphi DB.

Lokálne databázy a databázy súborových serverov.

V lokálnych databázach sú databázy umiestnené na klientskom počítači. V súbore serverových databáz sú databázy umiestnené na sieťovom súborovom serveri.

Lokálna verzia môže poskytovať iba režim prístupu k údajom pre jedného používateľa.

V databázach súborového servera sú údaje umiestnené na sieťovom súborovom serveri, ku ktorému môže súčasne pristupovať viacero používateľov. Údaje v databáze sú uložené v jednej kópii a každý klient v každom okamihu pracuje s nejakou lokálnou kópiou údajov a správa údajov je úplne priradená klientskym programom. Sú to tí, ktorí sa musia postarať o synchronizáciu lokálnych kópií údajov na každej klientskej lokalite s obsahom hlavnej (a jedinej) databázy.

Keď sa zadá dopyt do databázy umiestnenej na súborovom serveri, dopyt sa v skutočnosti vytvorí na lokálnu kópiu údajov v počítači používateľa. Preto sa pred vykonaním dotazu údaje v lokálnej kópii úplne aktualizujú zo skutočnej databázy. Ak teda databázová tabuľka pozostáva z 10 000 záznamov a na vykonanie dotazu je potrebných iba 10 záznamov, všetkých 10 000 záznamov sa stále prenesie na klienta. Sieť je teda vážne zaťažená.

Databázy klient-server.

V architektúre klient-server sa medzi BDE a databázou objavuje dôležitý medzičlánok - databázový server (špeciálny program, ktorý spravuje databázu).

Klient vytvorí požiadavku na server v dotazovacom jazyku SQL (Štruktúrovaný Dopytovací Jazyk -štruktúrovaný dotazovací jazyk), ktorý je priemyselným štandardom pre relačné databázy. SQL server zabezpečuje interpretáciu dotazu, jeho vykonanie, zostavenie výsledku a vydanie tohto výsledku klientovi. Prostriedky klientskeho počítača sa zároveň nezúčastňujú na fyzickom vykonaní požiadavky: klientsky počítač iba odošle požiadavku do databázy servera a dostane výsledok, potom ho interpretuje ako potrebné a predloží ho užívateľ. Cez sieť sa prenášajú len tie dáta, ktoré klient potrebuje.

Keď server vykonáva dotazy, stupeň bezpečnosti údajov sa výrazne zvyšuje, pretože pravidlá integrity údajov sú definované na serveri a sú jednotné pre všetky aplikácie využívajúce túto databázu. Výkonný transakčný aparát podporovaný servermi SQL blokuje súčasnú úpravu rovnakých údajov rôznymi používateľmi a poskytuje možnosť vrátiť sa k pôvodným hodnotám pri vykonávaní zmien v databáze, ktorá skončila abnormálne.

Vytvárajte a zobrazujte aliasy databázy.

  1. CezDBD.

Zvyčajne volajte Pracovná plocha databázy zahrnuté v hlavnom menu Delphi v sekcii Nástroje. Ak tak neurobíte, môžete to tam povoliť pomocou príkazu Nástroje | Konfigurovať nástroje ... (súbor DBD32.exe).

DBD umožňuje vytvárať databázové tabuľky niektorých DBMS, nastavovať a meniť ich štruktúru.

Aliasy môžete vytvárať a zobrazovať spustením Tools | Alias ​​​​Manager. Zobrazí sa okno Alias ​​​​Manager:


Keď vyberiete alias v zozname Alias ​​databázy, typ ovládača sa automaticky zmení v rozbaľovacom zozname


  1. CezSprávca BDE.


  1. CezPrieskumník databáz (SQL Explorer).

Tento program sa volá z hlavného menu Delphi pomocou databázy | Preskúmať.


Katedra aplikovanej informatiky

Vysvetlivka k semestrálnej práci

podľa disciplíny:

"databáza"

"Vývoj databáz a klientskych aplikácií"

Kaluga 2009


Úvod

1. Vyjadrenie problému

2. Návrh, tvorba a správa databázy

3.Technologická používateľská príručka

Záver

Bibliografia


Úvod

Cieľom mojej práce je vybudovať databázu a naučiť sa základné prvky jazyka SQL, ako aj získať praktické zručnosti pri tvorbe jednoduchej databázy.

Relevantnosť práce v kurze je definovaná ako potreba vytvárať a navrhovať databázy.

V modernom svete existuje veľa rôznych databáz. Bez ktorých by vek informačných technológií nemohol existovať a progresívne sa rozvíjať. Moderný svet sa nezaobíde bez štruktúrovaných a triedených informácií, umožňujú vám to databázy. Databázy sú nevyhnutné pre mnohé oblasti ľudskej činnosti, či už ide o bankovníctvo, obchod s potravinami alebo účtovanie výdavkov v domácnosti.

Databázy nájdete na každom kroku. Takmer každý systém je dobre vybudovanou databázou, napríklad dobre známy „Konzultant +“ alebo registrácia jednej dane na ministerstve daní a poplatkov.

Moja databáza je navrhnutá tak, aby automatizovala operácie, získavala spoľahlivé a včasné informácie.

Ciele práce v kurze sú nasledovné:

Implementovať databázu;

Implementujte používateľské rozhranie;

Zostavte správy;

V súčasnosti mnoho moderných programovacích jazykov podporuje programovanie databáz, pomocou ktorých si môžete vytvoriť potrebnú databázu, či už je to jednoduché alebo super zložité.


1. Vyjadrenie problému

Vyvinutý melónový základ pozostáva z niekoľkých „úrovní“. Najabstraktnejšou „vrstvou“ je dátová schéma. Na tejto úrovni sa priamo zobrazujú vzťahy medzi tabuľkami.

V tejto práci na kurze sú stanovené úlohy:

Zostavenie fyzického modelu na počítači (pomocou Erwina);

Definícia väzieb, dátových typov;

Vývoj užívateľsky prívetivého rozhrania;

Tvorba žiadostí, formulárov;

Tvorba správ (na zadanie);

Vytvorenie formulára hlavného tlačidla;

V mojej semestrálnej práci bol vytvorený fragment systému účtovníctva zamestnancov, v tomto smere účtovníctvo pozostáva z nasledujúcich operácií:

V mojej kurzovej práci bol vytvorený fragment produktového účtovného systému, v tomto ohľade účtovníctvo pozostáva z nasledujúcich operácií:

Účtovanie tovaru;

Účtovanie tovarov podľa skupín;

Účtovanie tovaru podľa potvrdení;

Tento systém je navrhnutý tak, aby automatizoval tieto operácie, získaval spoľahlivé a včasné informácie a generoval výstupné dokumenty.

2. Návrh, tvorba a správa databázy

Databáza obsahuje 4 tabuľky.

1) Tabuľka Skupina produktov, obsahuje 2 stĺpce Číslo skupiny produktov a Názov skupiny produktov.


2) Tabuľka Produkt, obsahuje 4 stĺpce Produkt_Číslo, Názov produktu, Cena, Číslo skupiny produktov.


3) Kontrolná tabuľka, obsahuje 2 stĺpce: Check_number, Date.

4) Tabuľka Po šeku, obsahuje 3 stĺpce: Číslo položky, Číslo šeku. množstvo.

Pre pohodlie práce s databázou bolo vytvorených niekoľko formulárov.

Účel formulárov je veľmi rôznorodý, formuláre sa dajú použiť na zobrazenie dopytov, tabuliek, pohodlnosť zápisu do tabuliek atď.

Formuláre pre dopyty.

1) Formulár žiadosti1 (pozri obr. 1)

Tovar je potrebné odobrať podľa konkrétneho šekového čísla. Tento formulár poskytuje pohodlné rozhranie na zadávanie informácií, ako aj pohodlné prezeranie správy.


Ryža. 1 Formulár žiadosti1

Napríklad. Do textového poľa zadajte číslo šeku - 7 a kliknite na tlačidlo - Zobraziť správu (pozri obr. 2)


Ryža. 2 Správa o prevádzke1

2) Formulár žiadosti2

Položku je potrebné zobraziť podľa dátumu. Tento formulár poskytuje pohodlné rozhranie na zadávanie informácií, ako aj pohodlné prezeranie správy.


Ryža. 3 Formulár žiadosti2

Napríklad. Do textového poľa zadajte dátum - 12.11.2008 a kliknite na tlačidlo - Zobraziť prehľad. (pozri obrázok 4)


Ryža. 4 Operácia dotazu2


Organizácia zadávania údajov do tabuliek prebieha prostredníctvom príslušných formulárov. Pre pohodlie bol vytvorený formulár hlavného tlačidla. (pozri obr. 5)

Tento formulár vyzerá takto:


Ryža. 5 Tlačidlový formulár

Hlavné menu sa nachádza tu. Každé z tlačidiel poskytuje prístup k prehľadom, po kliknutí si prehľady veľmi jednoducho zobrazíte.

V podponuke Tabuľky sú tabuľky na zadávanie informácií prezentované vo vhodnej forme.

Dátová schéma. (Pozri obr. 6


Ryža. 6 Schéma údajov

Dátová schéma bola vytvorená pomocou programu Erwin.

3. Technologický pokyn užívateľa

Napríklad:

- Predstavujeme nový produkt.

Ak chcete zadať nový produkt, musíte vykonať nasledujúce kroky (pozri obr. 7):

Prejdite do formulára hlavného tlačidla -> kliknite na tlačidlo tabuľky -> kliknite na tlačidlo produktu -> zadajte názov produktu, jeho cenu a vyberte, do ktorej skupiny produktov patrí.


Ryža. 7 Zadanie nového zamestnanca

Ak je v zozname skupín produktov požadovanej skupiny, zadáme ju ručne

Stlačte tlačidlo Skupina produktov -> a zadajte novú skupinu produktov. (pozri obrázok 8)



Obr 8. Vytvorenie novej skupiny produktov.


-> tiež vyberie kontrolné číslo tohto produktu -> zadajte množstvo tohto produktu. (pozri obrázok 10)



Záver

Ciele práce v kurze sú splnené v plnom rozsahu. Na evidenciu tovaru bola vytvorená databáza. Práca v kurze bola vytvorená v MS Access. Dátová schéma (fyzikálny model) bola zostavená v programe Erwin. Pre bezpečné a jednoduché zadávanie informácií bolo implementované aj pohodlné používateľské rozhranie. V tejto práci sú tiež dokončené úlohy, ktoré boli položené na začiatku práce na kurze, všetky problémy sú vyriešené a ich riešenie je možné zobraziť priamo v práci kurzu.

Po vypracovaní tejto práce na kurze som si uvedomil, že Microsoft Access DBMS je výkonný a pohodlný nástroj na vytváranie databáz. Grafické rozhranie s viacerými oknami, ktoré mi umožňuje interaktívne vytvárať tabuľky, formuláre, dotazy, zostavy. Špeciálne zariadenia, ktoré automatizujú prácu pri tvorbe a údržbe databázy (Wizards and Constructors, Assistants, atď.) výrazne zjednodušujú celý proces a sprístupňujú program každému pri učení.

Verím, že v mojej profesii sa mi takéto zručnosti, aj tie základné, časom veľmi zídu.

Veľmi zaujímavá a pohodlná bola aj práca v MS Access, vytváranie formulárov, práca s nápovedou, prezeranie a štúdium kníh o databázach a najmä MS Access. Nepochybne sa mi podarilo zoznámiť sa s takým úžasným programom, akým je Erwin, ktorý pomáha rýchlejšie a lepšie pochopiť tvorbu databáz. Samozrejme, moderných databáz je každým dňom viac a viac, vyhovujúcich potrebám používateľov, preto vyvstáva úloha, ako takéto databázy vytvárať, ako ich spravovať... Po prečítaní a analýze tejto práce v kurze môžete nepochybne získať základné zručnosti pri budovaní databázových údajov.

Bibliografia

1. Microsoft Access 2000. Krok za krokom: Cvičenie. Manuálny. / Za. z angličtiny

Moskva: Vydavateľstvo EKOM, 2002 .-- 352 s.: chor.

2. Sprievodca pre samoukov: Office Access 2003. - Petrohrad: Peter, 2004. - 464 s .: chor.

3. Databázy. Návrh, realizácia a údržba. Teória a

prax. 3. vydanie. : Za. z angličtiny - M.: Vydavateľstvo "Williams",

2003 .-- 1440 s. : chorý. - Paralelné. sýkorka. Angličtina

Federálna agentúra pre vzdelávanie

Štátna vzdelávacia inštitúcia vyššieho odborného vzdelávania

"ŠTÁTNA UNIVERZITA ČEĽABINSK"

Práca na kurze

Vývoj databázových aplikácií

Analýza domény

Opis predmetnej oblasti a funkcií úloh, ktoré sa majú riešiť

V kurze sú v súlade so zadaním automatizované činnosti obchodného oddelenia podniku „Russian Food“.

Predmetom automatizácie sú niektoré pracovné funkcie obchodného oddelenia. Obchodné oddelenie má plán výdaja hotových výrobkov vypracovaný na tri mesiace. V súlade s týmto plánom dielne vyrábajú produkty, no skutočný výstup výroby závisí od mnohých faktorov a môže sa líšiť od plánovaného. Obchodné oddelenie dostáva aj faktúry predajne, ktoré odrážajú skutočnú výrobu a dodávku produktov do určitých skladov.

Úlohou obchodného oddelenia je analyzovať realizáciu plánu dodávky produktov do skladov. Na tento účel je potrebné vybrať plánované a skutočné údaje za určité obdobie pre určitý sklad a analyzovať odchýlku skutočnosti od plánu.

Podnik má 3 dielne, kde sa vyrábajú produkty. Sortiment produktov je uvedený v tabuľke.

Stôl 1.

Číslo obchodu Názov obchodu Názov produktu Minimálna výrobná jednotka Cena za jednotku mlieko 3,5% krabica 50 kusov 650,00 rub.1 mlieko mlieko 4,0% kartón 50 kusov 700,00 rub. krémová krabica 50 kusov1 200,00 rub. varená klobása balenie 50 kusov2 500,00 rub. 2 klobása údená klobása balenie 50 kusov3 400,00 rub. párky balenie 50 kusov1 200,00 rub. konzerva zo zubáča 50 plechoviek 670,00 rub 3 rybí kaviár čierna skrinka 50 plechoviek 5 400,00 rub. červený škatuľový kaviár 50 plechoviek 5 370,00 rub. Výrobky vydávané dielňami sa dodávajú do skladov

Tabuľka 2

Číslo skladu Názov skladu 1 Číslo skladu 12 Číslo skladu 23 Číslo skladu 3

Zoznam vstupných (primárnych) dokumentov.

Nasledujúce dokumenty sa používajú ako primárne dokumenty na riešenie tohto problému:

výrobný plán pre dielne

zoznam faktúr obchodu

Číslo workshopu Číslo faktúry workshopu Dátum odovzdania

špecifikácia dielenskej faktúry

Dielenské číslo Dielenské číslo faktúry Kód produktu Množstvo

Obmedzenie predmetnej oblasti.

Pri príprave projektu kurzu sú povolené nasledujúce obmedzenia:

hotový výrobok je priradený k jednému skladu hotových výrobkov a môže ho vyrábať viacero dielní.

hotový výrobok má iba jednu mernú jednotku.

jedna dielňa môže vyrábať niekoľko druhov výrobkov.

v jednom sklade je možné skladovať viacero položiek hotových výrobkov.

výroba hotových výrobkov dielňou je plánovaná mesačne.

vydanie tej istej položky môže byť naplánované na rôzne mesiace.

Predajná faktúra za dodávku hotových výrobkov na sklad môže obsahovať viacero názvov výrobkov, jej číslo je jedinečné len pre jednu predajňu.

Formulácia problému

Organizačná a ekonomická podstata komplexu úloh.

Jedným z hlavných problémov v podniku je nesúlad medzi plánovaným množstvom produkcie, ktorá sa tvorí podľa požiadaviek odberateľov a skutočným množstvom výrobkov expedovaných dielňami do skladov.

Na vyriešenie tohto problému je potrebné včas (promptne) dostať informáciu o dostupnosti, nedostatku alebo prebytku produktov na skladoch vo vzťahu k plánu. Prebytky zostávajú na sklade, môže byť prekročená ich trvanlivosť a vzniká nelikvidný majetok.

Popis výstupných informácií

Výstupné informácie budú prezentované vo forme reportovacieho formulára.

Analýza implementácie plánu dodávky produktov do skladu _________________

Mesiac Názov produktu Merná jednotka Množstvo Prebytok Plán Fakt

Na získanie tohto formulára sa používajú údaje primárnych dokumentov:

zoznam produktov;

zoznam skladov;

zoznam workshopov;

plán výroby produktov dielňami;

zoznam faktúr obchodu;

Popis vstupných informácií.

Vstupné informácie sú rozdelené na podmienene konštantné (referenčné knihy), ktoré si zachovávajú svoje hodnoty po dlhú dobu, a neustále sa meniace, to znamená prevádzkové účtovné informácie.

Podmienečne trvalé informácie zahŕňajú:

zoznam vyrobených výrobkov;

zoznam výrobných dielní;

zoznam skladov;

referenčné jednotky merania.

Prevádzkové účtovné informácie zahŕňajú:

plán výroby produktov dielňami;

zoznam faktúr obchodu;

špecifikácia faktúry obchodu.

Uvedieme primárne dokumenty s podrobnosťami v tabuľke 3:

Počet p / p Názov dokumentu Podrobnosti 1 Zoznam vyrábaných produktov 1. Kód produktu 2. Názov produktu. 3. Kód jednotky. 4.Cena. 5. Číslo skladu 3 Zoznam skladov 1. Kód skladu. 2. Názov skladu 2 Zoznam dielní 1. Kód dielne. 2. Názov dielne 4 Referenčné merné jednotky 1. Kód mernej jednotky. 2. Názov mernej jednotky 5 Plán výroby výrobkov predajňami 1. Číslo predajne. 2. Mesiac uvoľnenia. 3. Kód produktu. 4. Množstvo 6 Zoznam faktúr predajne 1. Číslo predajne. 2. Číslo predajnej faktúry. 3. Dátum dodania 7 Špecifikácia faktúry predajne 1. Číslo predajne. 2. Číslo predajnej faktúry. 3. Kód produktu. 4. Množstvo.

Návrh databázy

Prideľovanie informačných objektov

Jednou z najťažších etáp v procese návrhu databázy je vývoj tabuliek, pretože výsledky, ktoré by mala databáza produkovať (zostavy, výstupné formuláre atď.), nedávajú vždy úplný obraz o štruktúre tabuľky.

Informácie v tabuľke by sa nemali duplikovať. Medzi tabuľkami by sa nemali opakovať.

Ak sú určité informácie uložené iba v jednej tabuľke, bude potrebné ich zmeniť iba na jednom mieste. To zefektívňuje prácu a tiež eliminuje možnosť nesúladu informácií v rôznych tabuľkách.

Každá tabuľka by mala obsahovať informácie len o jednej téme.

Informácie o každej téme sa oveľa ľahšie spracúvajú, ak sú obsiahnuté v tabuľkách navzájom nezávislých.

Každá tabuľka obsahuje informácie o inej téme a každé pole v tabuľke obsahuje samostatné informácie o téme tabuľky

Na implementáciu dátových spojení z rôznych tabuliek musí každá tabuľka obsahovať pole alebo množinu polí, ktoré nastavia individuálnu hodnotu pre každý záznam v tabuľke. Takéto pole alebo množina polí sa nazýva primárny kľúč. Po distribúcii údajov v tabuľkách a definovaní kľúčových polí musíte definovať vzťahy medzi tabuľkami.

Tabuľka 4

Informačné objekty

Informácie o obektSootvetstvuyuschy dokumentRekvizityKlyuchIzdeliyaSpisok produkoval izdeliyKod izdeliyaDa Name izdeliyaKod jednotka izmereniyaTsena počet skladaTsehaSpisok tsehovNomer tsehaDa Name tsehaSkladySpisok skladovNomer skladDaNaimenovanie skladaEdinitsa izmereniyaSpravochnik jednotiek izmereniyaKod jednotiek produkty úniku Unit izmereniyaDa Name izmereniyaPlan vypuskaPlan tsehamiNomer tsehaDaNomer mesyatsaDa kód izdeliyaDa KolichestvoTsehovye nakladnyeSpisok obchod nakladnyhNomer tsehaDa počet cech nakladnoyDa Dátum sdachiSpetsifikatsii Špecifikácie cechu nakladnoyNomer tsehaDaNomer obchod faktúraÁno Kód produktuÁno MnožstvoMesiacPre objekt "Plán uvoľnenia" Číslo mesiacaÁno Názov mesiaca

Informačno-logické modelovanie a určovanie väzieb medzi informačnými objektmi

Informačno-logický model je dátový model, ktorý zobrazuje predmetnú oblasť vo forme súboru informačných objektov a štruktúrnych väzieb medzi nimi.

Náš informačno-logický model bude vyzerať takto:

Obr. Infologický model

Výsledkom vývoja databázy bolo získaných 8 informačných objektov. Definujme typ spojenia v každom páre týchto inf. predmety.

Merná jednotka - Produkt

Typ prepojenia je 1-to-many, pretože niekoľko položiek možno merať jednou mernou jednotkou, ale každá položka sa momentálne meria jednou mernou jednotkou. Spojenie medzi týmito objektmi je podľa atribútu Unit code.

Sklady - Produkt

Typ prepojenia je 1-to-many, keďže v jednom sklade je možné skladovať viacero položiek hotových výrobkov. Komunikácia - podľa atribútu Číslo skladu.

Produkty – Plán vydania

Typ vzťahu je 1-to-many, pretože jedna položka môže byť naplánovaná na vydanie v rôznych mesiacoch, ale každé plánované množstvo sa vzťahuje iba na jednu položku v danom mesiaci. Komunikácia prostredníctvom požadovaného kódu produktu.

Mesiac – plán vydania

Typ prepojenia je 1-to-many, každý mesiac sa zostavuje plán výroby. Komunikácia podľa požadovaného čísla mesiaca.

Workshop - Plán vydania

Komunikačný typ 1 – pre mnohých je naplánované uvoľnenie jedného workshopu v rôznych mesiacoch. Komunikácia cez požadované číslo predajne.

Dielne – Dielenské faktúry

Workshop - Špecifikácie

Typ pripojenia je 1-to-many, jeden obchod vystavuje veľa faktúr. Komunikácia cez požadované číslo predajne.

Dielenské faktúry - Špecifikácia

Typ prepojenia je 1-to-many, jedna obchodná faktúra môže obsahovať niekoľko kusovníkov. Komunikácia podľa náležitostí - Číslo faktúry a číslo predajne.

Špecifikácia výrobku

Typ prepojenia 1 - pri mnohých je jeden výrobok vydaný viackrát, ale toto vydané množstvo sa vzťahuje len na jeden výrobok. Komunikácia prostredníctvom požadovaného kódu produktu.

Logická štruktúra databázy

Logická štruktúra relačnej databázy je adekvátnym odrazom získaného informačno-logického modelu predmetnej oblasti. Pre kanonický model nie sú potrebné žiadne ďalšie transformácie. Každý informačný objekt dátového modelu je mapovaný do zodpovedajúcej relačnej tabuľky. Štruktúra relačnej tabuľky je určená atribútmi zodpovedajúceho informačného objektu, kde každý stĺpec (pole) zodpovedá jednému z atribútov. Kľúčové atribúty tvoria jedinečný kľúč relačnej tabuľky. Pre každý stĺpec v tabuľke je určený typ, veľkosť údajov a ďalšie vlastnosti. Topológia návrhu dátovej schémy sa prakticky zhoduje s topológiou informačno - logického modelu.

V rámci tejto práce na kurze bude logická štruktúra databázy vyzerať takto (obr. 2):

Obr. Logická štruktúra databázy

Implementácia databázy v prostredí Microsoft Access

Na implementáciu navrhnutej databázy použijeme jeden z najpopulárnejších systémov správy databáz pre operačný systém Windows Microsoft Access. Tento DBMS je súčasťou rozšíreného integrovaného balíka Microsoft Office a je plne kompatibilný s programami tohto balíka. Veľkou výhodou MS Access je dostupnosť nástrojov na vývoj informačných systémov pre používateľov rôznych kvalifikácií: od začiatočníkov až po profesionálov.

MS Access DBMS je zameraný na prácu s nasledujúcimi objektmi:

Tabuľky sú hlavným prvkom každej relačnej databázy, sú určené na definovanie a ukladanie údajov;

Dotazy slúžia ako zdroje na vytváranie ďalších dotazov, formulárov a zostáv. Dotazy vám umožňujú upravovať a analyzovať údaje. Najbežnejší typ dotazu, výberový dotaz, je súbor pravidiel používaných na výber údajov z jednej alebo viacerých súvisiacich tabuliek. Výsledky vykonania dotazu sú prezentované vo forme virtuálnej tabuľky.

Formuláre sú objekt primárne určený na zadávanie údajov, ich zobrazovanie na obrazovke alebo ovládanie činnosti aplikácie. Pre splnenie požiadaviek užívateľa na prezentáciu údajov z dopytov alebo tabuliek je možné použiť formuláre, formuláre je možné aj vytlačiť.

Zostavy sú prostriedkom na organizáciu výstupu dát pre tlač. Pomocou prehľadu je možné zobraziť potrebné informácie v požadovanej forme. Pred tlačou si môžete správu zobraziť. Zdrojmi údajov pre zostavy sú tabuľky a dotazy;

Makrá - objekt, ktorý je štruktúrovaným popisom jednej alebo viacerých akcií, ktoré by mal MS Access vykonať v reakcii na konkrétnu udalosť.

Moduly sú objekty, ktoré obsahujú programy napísané v jazyku Visual Basic for Applications (VBA).

V rámci úlohy nie je potrebné vytvárať makrá a moduly v navrhnutej databáze.

Všetky objekty MS Access sú umiestnené v jednom súbore na disku. MS Access má rozhranie s viacerými oknami, ale súčasne dokáže spracovať iba jednu databázu.

Pre vytvorenie novej databázy je potrebné spustiť MS Access, zvoliť režim "Nová databáza", zadať názov databázy a vybrať jej umiestnenie na disku.

Tabuľky navrhovanej databázy sú informačné objekty, polia tabuliek sú detaily informačných objektov.

Pre vyplnenie vstupných informácií bude potrebné navrhnúť užívateľské rozhranie - formuláre:

formulár "Produkty" - na úpravu tabuľky "Produkty";

Formulár "plán uvoľnenia" - na opravu plánu počtu vyrobených výrobkov;

formulár "Dielenské nákladné listy" spájajúci tabuľku "Dielenské nákladné listy" a tabuľku "Špecifikácie dielenských prepravných listov" závisiacu od "Dielenské nákladné listy".

Na realizáciu zostavy „Analýza plnenia plánu dodávky produktov na sklad“ bude stačiť vykonať jednu požiadavku na výber mesiaca (tabuľka „mesiac“), názvu produktu (tabuľka „Produkty“ ), merné jednotky (tabuľka „Merná jednotka“), množstvá podľa plánu ( tabuľka „Plán výroby“), skutočné množstvá (tabuľka „Špecifikácie“), s doplnením stĺpca „prebytok“ so vzorcom odpočtu.

Vytváranie tabuliek a dátových schém

predaj databáz aplikácií

Existuje niekoľko režimov vytvárania tabuliek (režim tabuľky, návrhár, sprievodca tabuľkou, import tabuliek, prepojenie na tabuľky z iných databáz). Najuniverzálnejším spôsobom vytvorenia tabuľky je použitie režimu návrhu. Ak chcete vytvoriť tabuľku v tomto režime, musíte definovať polia tabuľky. Každé pole je charakterizované názvom, typom údajov a vlastnosťami. Názov poľa nesmie obsahovať špeciálne znaky.

Microsoft Access môže používať nasledujúce typy údajov:

Text – slúži na uloženie alfanumerických informácií. Dĺžka poľa nesmie presiahnuť 255 znakov;

Pole MEMO - určené na ukladanie alfanumerických informácií s dĺžkou až 65535 znakov;

Numerický - používa sa pre číselné údaje zapojené do výpočtov;

Dátum / čas - dátum a (alebo) čas v rozsahu od 100 do 9999;

Peňažné - používa sa pre peňažné hodnoty a číselné údaje používané v matematických výpočtoch, ktoré sa vykonávajú s presnosťou 15 číslic v celku a až 4 číslice v zlomkovej časti;

Počítadlo - slúži na generovanie jedinečných postupne sa zvyšujúcich alebo náhodných čísel, ktoré sa automaticky zadávajú do poľa pri každom novom zázname do tabuľky. Hodnoty polí typu Počítadlo sa nedajú zmeniť;

Boolean - určené pre boolovské hodnoty ​​(Áno / Nie, Pravda / Nepravda). Dĺžka logického poľa je 1 bit;

Pole objektu OLE - akýkoľvek objekt v binárnom formáte (dokument Word, tabuľka Excel, obrázok, zvuková nahrávka) prepojený alebo vložený do tabuľky MS Access. Veľkosť takéhoto poľa nesmie presiahnuť 1 GB;

Sprievodca vyhľadávaním – vytvorí pole, ktoré vás vyzve na výber hodnôt zo zoznamu alebo z rozbaľovacieho poľa obsahujúceho množinu konštantných hodnôt alebo hodnôt z inej tabuľky. Výberom tejto možnosti zo zoznamu v bunke sa spustí sprievodca vyhľadávaním, ktorý určí typ poľa.

Vlastnosti poľa sa nastavujú v spodnej časti okna návrhu tabuľky na karte Všeobecné. Zoznam vlastností je pre každý typ údajov odlišný. Uvažujme o niektorých z nich:

Veľkosť poľa – obmedzuje dĺžku poľa na zadaný počet znakov;

Formát - určuje formát pre dátumy a čísla;

Počet desatinných miest - pre peňažné a číselné polia nastavuje počet desatinných miest;

Vstupná maska ​​- pre textové a dátumové polia definuje šablónu, podľa ktorej sa budú do poľa zapisovať údaje;

Indexované pole – umožňuje vytvoriť index, ktorý poslúži na urýchlenie vyhľadávania a triedenia tabuľky podľa tohto poľa. Index je interná servisná tabuľka pozostávajúca z dvoch stĺpcov: hodnoty indexovaného poľa a čísla tabuľky. Pre indexy môžete nastaviť nasledujúce vlastnosti: a) „Áno (zhody sú povolené)“ – vytvorí sa index, ktorý obsahuje zhodné hodnoty polí, b) „Áno (nie sú povolené žiadne zhody)“ – vytvorí sa index na základe jedinečného hodnota poľa, c) "Nie "- nevytvára sa žiadny index

Tabuľka v MS Access zvyčajne obsahuje primárny kľúč. Ak chcete vytvoriť kľúč, musíte vybrať pole v konštruktore a priradiť mu kľúč prostredníctvom kontextovej ponuky.

Typ údajov poľa Veľkosť poľa Primárny kľúč Kód jednotky Numerický Dlhé celé číslo Áno Názov jednotky Text 50

Tabuľka „Produkty“.

Typ údajov poľa Veľkosť poľa Primárny kľúč Kód položky Numerický Dlhé celé číslo Áno Názov položky Text100 Kód jednotky Numerický Dlhé celé číslo Cena Mena-číslo skladu Numerický Bajt

Skladová tabuľka

Typ údajov poľa Veľkosť poľa Primárny kľúč Číslo skladu Numerický Bajt Áno Názov skladu Text 20

Mesačná tabuľka

Typ údajov poľa Veľkosť poľa Primárny kľúč Číslo mesiaca Numerický Celé číslo Áno (nie sú povolené žiadne zhody) Názov mesiaca Text 20

Dielenský stôl

Typ údajov poľa Veľkosť poľa Primárny kľúč Číslo obchodu Numerický Bajt Áno Názov obchodu Text 30

Tabuľka plánu vydania

Typ údajov poľa Veľkosť poľa Primárne číslo kľúčaČíslo obchoduNumericByteYesMonthNumberNumericIntegerYesProduct CodeNumeric Long IntegerYesNumberNumericReal (16) Tabuľka dielenských faktúr

Typ údajov poľa Veľkosť poľa Primárny kľúč Číslo obchodu Numerický Bajt Áno Číslo nákupnej faktúry NumerickýDlhé celé číslo Áno Dátum dodania Dátum \ Čas-

Tabuľka "Špecifikácie"

Typ údajov poľa Veľkosť poľa Primárny kľúč Číslo obchodu Číselný BajtÁno Číslo faktúry obchodu ČíselnýDlhé Celé čísloÁno Kód položkyČíselný Dlhé celé čísloÁnoČísloČísloPlatné (16)

Poďme vytvoriť schému údajov v programe Microsoft Access:

Obr. Dátová schéma

Vytvorenie používateľského rozhrania

Formuláre sú primárnym prostriedkom na vytváranie používateľského rozhrania, ktoré poskytuje najpohodlnejší spôsob prezentácie, zobrazenia, úpravy údajov a riadenia priebehu aplikácie. Hlavnými funkciami formulárov sú zadávanie údajov, výstup a úprava informácií, kontrola priebehu aplikácie, výstup správ, tlač informácií.

Existujú nasledujúce typy formulárov:

Normálny - zobrazí jeden záznam zdroja údajov;

Viacstránkové – navrhnuté na prácu so zdrojom údajov, ktorý má veľký počet polí;

Pás kariet - zobrazuje niekoľko záznamov zdroja údajov, vhodný pre malý počet polí;

Popup - zobrazuje sa v popredí obrazovky a umožňuje vám pracovať s inými formulármi;

Exkluzívny - neumožňuje prechod na iné formy, kým nie je zatvorený;

Slave je dobrý spôsob, ako reprezentovať dáta na strane „veľa“ vzťahu one-to-many, je vložený do hlavného formulára a vždy na ňom závisí.

Štrukturálne sa formulár skladá z troch častí – nadpis, poznámky a dátové oblasti. Sekcie formulára obsahujú ovládacie prvky. Akýkoľvek ovládací prvok je možné umiestniť do formulára pomocou Panela s nástrojmi, ktorý sa zobrazuje v návrhárovi formulára.

Najčastejšie používané prvky:

(nápis) - slúži na vytváranie trvalých nápisov vo formulári;

(pole) - prvok, ktorý zobrazuje hodnotu zo zdroja údajov;

(kombo box) - určené na vytváranie rozbaľovacích zoznamov vo formulári;

(tlačidlo) - určené na vytváranie príkazových tlačidiel vo forme, ktoré vykonávajú určité akcie;

(zaškrtávacie políčko) - prvok, ktorý umožňuje povoliť alebo zakázať hodnotu parametra;

(podformulár) - slúži na vloženie podformulára do hlavného.

Je pohodlnejšie vytvoriť formulár pomocou sprievodcu. Prvým krokom je výber zdroja údajov a polí formulára. V druhom kroku by ste mali určiť vzhľad projektovaného formulára. Tretím krokom je výber štýlu formulára (obrázok na pozadí formulára, formát písma a farby). V poslednom kroku zadajte názov formulára, pod ktorým bude uložený v databáze. Formulár vytvorený pomocou sprievodcu je potrebné dokončiť v režime návrhu. Pridajte potrebné štítky, tlačidlá, podformuláre.

V rámci práce na kurze boli vytvorené nasledujúce formuláre:

Ryža. 4. Produkty.

Obr. Plán vydania.

Formulár „faktúry obchodu“ obsahuje podformulár „Špecifikácie“

Obr. Dielenské faktúry.

Implementácia správy

Pred vygenerovaním zostavy musíte vytvoriť dotaz.

Dotazy sú základným nástrojom v akomkoľvek systéme správy databáz. Účel požiadaviek je v popise typov požiadaviek.

Dotazy je možné vytvárať v režime Sprievodca dotazom (potom musíte vybrať typ dotazu), ako aj v Návrhári dotazov.

V programe Microsoft Access existujú štyri typy dotazov:

jednoduché výberové dotazy zobrazujú údaje z jednej alebo viacerých tabuliek v tabuľke; pridanie parametra (podmienka výberu) je povolené;

Krížové odkazy zhromažďujú údaje z jednej alebo viacerých tabuliek vo formáte podobnom tabuľkovým procesorom a používajú sa na analýzu údajov; pridanie parametra (podmienka výberu) je povolené;

Požiadavky na zmeny sa používajú na vytváranie nových tabuliek z výsledkov dotazov a na vykonávanie zmien (pridávanie, mazanie) údajov existujúcich tabuliek; pridanie parametra (podmienka výberu) je povolené;

dotaz na nájdenie záznamov, ktoré sa nezhodujú so žiadnym záznamom v podriadenej tabuľke.

Pomocou dotazov v režime sprievodcu dotazom (výberom výslednej zostavy dotazu) je možné vykonať výpočet (súčet, priemer, minimum, maximum) s použitím zvolených údajov.

Na realizáciu zostavy „Analýza plnenia plánu dodávky produktov na sklad č. ___“ bude stačiť vykonať jednu požiadavku na výber mesiaca (tabuľka „mesiac“), názvu produktu (tabuľka „ Produkty"), merné jednotky (tabuľka "Merná jednotka"), množstvá podľa plánu (tabuľka "Plán uvoľnenia"), skutočné množstvá (tabuľka "Špecifikácie") s pridaním stĺpca "prebytok" so vzorcom na odčítanie, ako aj s výberom čísla skladu (tabuľka "sklady") s podmienkou výberu bez zobrazenia tohto skladu vo výslednej tabuľke.

Pre tento prehľad bol vytvorený dotaz pomocou konštruktora:

Obr. 8. Výsledok dotazu.

Podľa rozdielneho množstva tovaru zo špecifikácie vidno, že šťuky v konzerve boli odovzdané na sklad aj v júli aj v septembri dvakrát.

Generovanie správy

Správy sú najlepším spôsobom, ako prezentovať informácie z databázy ako tlačenú kópiu. Poskytujú výkonné možnosti na zoskupovanie a výpočet medzisúčtov a medzisúčtov pre veľké súbory údajov. Zostavy sa dajú použiť na generovanie krásne navrhnutých faktúr, nákupných objednávok, poštových štítkov, prezentačných materiálov a iných dokumentov, ktoré možno budete potrebovať na úspešné vedenie vašej firmy.

Správa obsahuje tieto oblasti:

titulok - zobrazí sa iba raz na začiatku zostavy;

hlavička a päta – opakuje sa na každom hárku zostavy, používa sa na zobrazenie trvalých alebo pravidelných informácií (dátum zostavy, čísla strán atď.);

nadpisy a poznámky pre skupiny – zobrazujú sa, keď sa zoskupovanie vykonáva v zostave na začiatku a na konci každej skupiny. V prehľade je možné vytvoriť až desať úrovní zoskupenia;

dátová oblasť – slúži na zadávanie informatívnych riadkov prehľadu;

poznámka k zostave - určená na zobrazenie súhrnných informácií o zostave ako celku, vytlačená raz na konci zostavy.

Je pohodlnejšie vytvoriť správu, napríklad formulár, pomocou sprievodcu.

Po vytvorení zostavy môžete v návrhovom režime meniť jej štruktúru (opravovať a formátovať hlavičky stĺpcov zostavy, pridávať alebo odstraňovať polia atď.).

Výsledkom vykonania správy bola získaná jej tlačená podoba.

Analýza realizácie plánu dodávky výrobkov na sklad č. 1, 2, 3 - Obr. 10-12.

Pole „číslo faktúry predajne“ bolo pridané, aby bolo zrejmé, že produkt je možné odovzdať na sklad dvakrát do mesiaca na základe dvoch rôznych faktúr.

Obr. 9. Návrhár správ

Obr. 10. Rozbor realizácie plánu dodávky výrobkov na sklad č.1

Obr. Rozbor realizácie plánu dodávky výrobkov na sklad č.2

Obr. 12. Rozbor realizácie plánu dodávky výrobkov na sklad č.3

Bibliografia

Tarasov V.L. Práca s databázami v prostredí Access, Tutorial / Nižná štátna univerzita, Nižný Novgorod, 2005.

Shekhtman V.E. Databázy, SQL Učebnica z disciplín "Databázy", "Databázové a expertné systémy", "Moderná technológia programovania SQL". / - NPI KemSU, Novokuzneck, 2006.

Andreev V.A., Tupikina E.N., Systémy správy databáz (Microsoft Access), pokyny / FESAEU, Vladivostok, 2003.

Veiskas D., Efektívna práca s ACCESS, študijná príručka / SPb, 1996.

Chomonenko A.F., Tsygankov V.M., Maltsev M.G. Databázy, učebnica pre vysoké školy / Ed. Prednášal prof. A.D. Chomonenko. - SPb.: KORONA print, 2002.

  • Vývoj pre Android
    • Návod
    • Režim obnovenia

    Ahojte všetci! Volám sa Oleg a som amatérsky programátor pre Android. Amatérsky preto, lebo momentálne si zarábam programovaním úplne iným smerom. A to je koníček, ktorému venujem svoj voľný čas. Žiaľ, nemám známych Android programátorov a všetky svoje základné znalosti čerpám buď z kníh alebo z internetu. Vo všetkých tých knihách a článkoch na internete, ktoré čítam, je vyčlenených veľmi málo miesta na vytvorenie databázy pre aplikáciu a v skutočnosti sa celý popis scvrkáva na vytvorenie triedy, ktorá je dedičom. SQLiteOpenHelper a následné vstreknutie kódu SQL do kódu Java. Okrem toho, že dostaneme zle čitateľný kód (a ak sa v našej aplikácii objaví viac ako 10 tabuliek, potom je zapamätanie si všetkých týchto vzťahov medzi tabuľkami stále peklo), potom v zásade môžete žiť, samozrejme, ale nejako absolútne nechcem.
    Zabudol som povedať to najdôležitejšie, môžeme povedať, že toto je môj test pera tu. A tak sme išli.

    Na večnú otázku: prečo?

    Prečo v knihách a článkoch venovaných programovaniu pre Android nie sú popísané nástroje na navrhovanie databázovej architektúry a akékoľvek vzory pre prácu s databázami v štádiu ich tvorby, úprimne neviem. Zdalo by sa, že pridať len pár strán do knihy alebo napísať samostatný článok (ako to robím teraz) by bolo také jednoduché ako lúskanie hrušiek – ale nie. V tomto článku si v krátkosti prejdem nástroje, ktoré pri svojej práci používam a podrobnejšie kód, ktorý má na starosti prvotné vytvorenie databázy, ktorá z môjho pohľadu vyzerá čitateľnejšie a pohodlnejšie.


    Ak má naša aplikácia viac ako 5 tabuliek, bolo by fajn použiť nejaký nástroj na vizuálny návrh databázovej architektúry. Keďže je to pre mňa hobby, používam úplne bezplatný nástroj s názvom Oracle SQL Developer Data Modeler (môžete si ho stiahnuť).

    Tento program vám umožňuje vizuálne kresliť tabuľky a vytvárať s nimi vzťahy. Týmto prístupom k návrhu sa dá vyhnúť mnohým chybám v dizajne v architektúre databázy (už vám to hovorím ako profesionálny databázový programátor). Vyzerá to takto:

    Po návrhu samotnej architektúry prejdeme k namáhavejšej časti, ktorá spočíva vo vytváraní sql kódu na vytváranie tabuliek. Na pomoc v tejto veci už používam nástroj s názvom SQLiteStudio (ktorý si zase môžete stiahnuť tu).

    Tento nástroj je analogický k takým známym produktom ako SQL Naviagator, Toad atď. Ale ako už názov napovedá, je prispôsobený na prácu s SQLite. Umožňuje vám vizuálne vytvoriť databázu a získať kód DDL vytváraných tabuliek. Mimochodom, umožňuje aj vytváranie pohľadov, ktoré ak chcete, môžete použiť aj vo svojej aplikácii. Neviem, aký správny je prístup k používaniu zobrazení v programoch Android, ale v jednej z mojich aplikácií som ich použil.

    V skutočnosti už nepoužívam žiadne nástroje tretích strán a potom začína kúzlo s Android Studio. Ako som už písal vyššie, ak začneme vkladať SQL kód do kódu Java, výstup bude zle čitateľný a teda zle rozšíriteľný. Preto všetky SQL príkazy prenášam do externých súborov, ktoré sú v adresári aktíva... V Android Studio to vyzerá asi takto:


    O databázových a dátových adresároch

    Vo vnútri adresára aktíva vytvoril som dva adresáre db_01 a údaje_01... Čísla v názvoch adresárov zodpovedajú číslu verzie mojej databázy, s ktorou pracujem. V adresári db Ukladám si SQL skripty na samotné vytváranie tabuliek. A v adresári údajov ukladajú sa údaje potrebné na prvotné vyplnenie tabuliek.


    Teraz sa pozrime na kód v mojom DBHelper ktoré používam vo svojich projektoch. Najprv premenné triedy a konštruktor (tu žiadne prekvapenia):

    Súkromná statická koncovka String TAG = "RoadMap4.DBHelper"; Reťazec mDb = "db_"; String mData = "data_"; Kontext mContext; int mVerzia; public DBHelper (kontextový kontext, názov reťazca, int verzia) (super (kontext, názov, null, verzia); mContext = kontext; mVersion = verzia;)
    Teraz metóda onCreate a tu to začína byť zaujímavejšie:

    @Override public void onCreate (SQLiteDatabase db) (ArrayList tables = getSQLTables (); for (Tabuľka reťazcov: tabuľky) (db.execSQL (tabuľka);) ArrayList > dataSQL = getSQLDatas (); pre (HashMap hm: dataSQL) (pre (tabuľka reťazcov: hm.keySet ()) (Log.d (TAG, "vložiť do" + tabuľka + "" + hm.get (tabuľka)); long rowId = db.insert (tabuľka, null, hm.get (tabuľka));)))
    Logicky je to rozdelené do dvoch cyklov, v prvej slučke dostanem zoznam SQL príkazov na vytvorenie databázy a následne ich vykonám, v druhej slučke už napĺňam skôr vytvorené tabuľky počiatočnými údajmi. A tak prvý krok:

    Súkromný ArrayList getSQLTables () (ArrayList tabuľky = nový ArrayList<>(); ArrayList súbory = nový ArrayList<>(); AssetManager assetManager = mContext.getAssets (); String dir = mDb + mVersion; try (String listFiles = assetManager.list (dir); for (Stringový súbor: listFiles) (files.add (súbor);) Collections.sort (súbory, nový QueryFilesComparator ()); BufferedReader bufferedReader; String query; String line; for (Stringový súbor: súbory) (Log.d (TAG, "súbor db je" + súbor); bufferedReader = nový BufferedReader (nový InputStreamReader (assetManager.open (adresár + "/" + súbor))); query = ""; while ((riadok = bufferedReader.readLine ())! = null) (query = dotaz + riadok;) bufferedReader.close (); tables.add (query);)) catch (IOException e) (e.printStackTrace (); ) návratové tabuľky; )
    Všetko je tu celkom jednoduché, len si prečítame obsah súborov a zreťazíme obsah každého súboru do prvku poľa. Upozorňujeme, že triedim zoznam súborov, pretože tabuľky môžu mať cudzie kľúče, čo znamená, že tabuľky musia byť vytvorené v určitom poradí. V názve súborov používam číslovanie a pomocou neho robím triedenie.

    Súkromná trieda QueryFilesComparator implementuje komparátor (@Override public int porovnanie (String file1, String file2) (Integer f2 = Integer.parseInt (file1.substring (0, 2)); Integer f1 = Integer.parseInt (file2.substring (0, 2)); return f2 .compareTo (f1);))
    S vypĺňaním tabuliek je všetko zábavnejšie. Moje tabuľky sú naplnené nielen pevne zakódovanými hodnotami, ale aj hodnotami zo zdrojov a kľúčmi UUID (dúfam, že raz príde na sieťovú verziu môjho programu, aby moji používatelia mohli pracovať so zdieľanými údajmi). Štruktúra počiatočných dátových súborov vyzerá takto:


    Napriek tomu, že moje súbory majú príponu sql, vo vnútri nie je žiadny kód sql, ale táto vec:

    Priority
    pri_id: UUID: UUID

    pri_name: string: normal
    pri_color: color: colorGreen
    pri_default: int: 1
    priority
    pri_id: UUID: UUID
    pri_object: string: object_task
    pri_name: string: hold
    pri_color: farba: farbaModrá
    pri_default: int: 0
    priority
    pri_id: UUID: UUID
    pri_object: string: object_task
    pri_name: string: dôležité
    pri_color: farba: farbaČervená
    pri_default: int: 0
    priority
    pri_id: UUID: UUID

    pri_name: string: normal
    pri_color: color: colorGreen
    pri_default: int: 1
    priority
    pri_id: UUID: UUID
    pri_object: string: object_project
    pri_name: string: hold
    pri_color: farba: farbaModrá
    pri_default: int: 0
    priority
    pri_id: UUID: UUID
    pri_object: string: object_project
    pri_name: string: dôležité
    pri_color: farba: farbaČervená
    pri_default: int: 0

    Štruktúra súboru je takáto: Zavolám funkciu rozdeliť (":") vo vzťahu k riadku a ak dostanem, že jeho veľkosť je 1, tak toto je názov tabuľky, kde sa majú zapisovať údaje. Inak sú to samotné dáta. Prvé pole je názov poľa v tabuľke. Druhé pole je typ, podľa ktorého určím, čo potrebujem napísať práve do tohto poľa. Ak je to UUID, znamená to, že musím vygenerovať jedinečnú hodnotu UUID. Ak reťazec znamená, že musím zo zdrojov vytiahnuť hodnotu reťazca. Ak je to farba, potom znova musíte extrahovať kód farby zo zdrojov. Ak int alebo text, tak danú hodnotu len prevediem na int alebo String bez akýchkoľvek gest. Samotný kód vyzerá takto:

    Súkromný ArrayList > getSQLDatas () (ArrayList > dáta = nový ArrayList<>(); ArrayList súbory = nový ArrayList<>(); AssetManager assetManager = mContext.getAssets (); String dir = mData + mVersion; try (String listFiles = assetManager.list (dir); for (Stringový súbor: listFiles) (files.add (súbor);) Collections.sort (súbory, nový QueryFilesComparator ()); BufferedReader bufferedReader; Riadok reťazca; oddeľovač int = 0 ; ContentValues ​​​​cv = null; Polia reťazca; String nameTable = null; String packageName = mContext.getPackageName (); booleovský príznak = false; HashMap hm; for (String file: files) (Log.d (TAG, "file db is" + file); bufferedReader = new BufferedReader (nový InputStreamReader (assetManager.open (dir + "/" + súbor))); while ((riadok = bufferedReader.readLine ())! = null) (polia = line.trim (). split (":"); if (fields.length == 1) (if (príznak == true) (hm = nová HashMap<>(); hm.put (nameTable, cv); data.add (hm); ) // názov tabuľky nameTable = line.trim (); cv = new ContentValues ​​​​(); ďalej; ) else (if (fields.equals ("UUID")) (cv.put (polia, UUID.randomUUID (). toString ());) else if (fields.equals ("farba") || fields.equals ( "string")) (int resId = mContext.getResources (). getIdentifier (polia, polia, názov balíčka); Log.d (TAG, polia + "" + resId); prepínač (polia) (veľkosť písmen "farba": cv. put (polia, resId); break; case "reťazec": cv.put (polia, mContext.getString (resId)); break; default: break;)) else if (fields.equals ("text")) (cv .put (polia, polia);) else if (fields.equals ("int")) (cv.put (polia, Integer.parseInt (polia));)) príznak = true; ) bufferedReader.close (); )) catch (IOException e) (e.printStackTrace ();) vrátenie údajov; )