Export do SQL databáze
Export do SQL databáze
ProCop od verze 3.4 disponuje možností automatického exportu dat do SQL databází, XLS, XLSX, CSV a jiných formátů, dostupných přes ODBC ovladače Windows. Pro tyto exporty je v monitorovacím systému služba ProSQL, která v naplánovaných časech spouští definované skripty, které vytvářejí, doplňují, nebo modifikují databázi, nebo soubory. Tento návod popisuje definici exportu dat Microsoft SQL databáze.
Požadavky před realizací
Předpokládejme fungující, běžící monitorovací systém ProCop verze 3.4 a vyšší, který sbírá data z regulátorů, či měřičů spotřeb po libovolných komunikačních cestách. Tato data, nebo některá z nich je potřeba exportovat do SQL databáze, například pro nadřízené systémy jako jsou vyhodnocovací, fakturační či firemní informační systémy. Tyto systémy obvykle pracují nad SQL databází, do které bude potřebné v definovaném formátu dodávat data z monitorovacího systému. Může být také vytvořena specializovaná SQL databáze, která bude sloužit pouze pro výměnu dat mezi monitorovacím systémem ProCop a informačním systémem.
Co je potřeba před realizací exportu:
• | Funkční SQL databáze |
• | Název SQL databáze, případně instance |
• | IP adresa, nebo doménové jméno počítače, na kterém SQL databáze běží |
• | Uživatelské jméno a heslo pro čtení i zápis do SQL databáze |
• | Monitorovací systém ProCop v. 3.4 a vyšší, sbírající data z technologie |
• | Funkční síťové spojení mezi oběma počítači, běží-li SQL databáze na jiném počítači |
• | Struktura, definice tabulek a formát dat, v jaké podobě mají být data ukládána |
Instalace Microsoft SQL Server 2008 R2
Instalaci databázového serveru, pokud nepoužíváme existující provedeme podle dokumentace výrobce. V případě použití Microsoft SQL Server 2008 R2 Express Edition je instalace velmi snadná. Stačí stáhnout (v současnosti ze stránek www.microsoft.com/sqlserver/) příslušný softwarový balík a nainstalovat do Windows Server 2008 R2, případně Windows 7 Professional. Podle současných licenčních podmínek je možné využívat databázový server ve verzi Express do 10GB dat zcela zdarma.
Důležité upozornění!
Licence SQL databází nejsou součástí monitorovacího systému ProCop a řídí se licenčními podmínkami a pravidly konkrétního výrobce.
Uveďme krátký přehled a stručné vysvětlení dále používaného názvosloví, které se při instalaci SQL serveru a při realizaci projektu ProSQL využívá:
• | SQL server (SW) - softwarový balík, který umožňuje zpracovávat a uchovávat data, přístupný přes SQL (Structured Query Language = strukturovaný dotazovací jazyk), někdy se také hovoří o SQL databázi |
• | SQL server (HW) - počítač, na kterém je provozována SQL databáze |
• | Instance (SQL serveru) - na jednom počítači může být nainstalováno více SQL serverů, tedy více instancí tohoto softwaru, rozlišují se jménem instance |
• | Databáze - v SQL serveru může být více databází, nezávislých úložišť dat, každá s vlastní strukturou a oprávněními |
• | Tabulka - databáze se mimo jiné skládá z tabulek, které mají definovány sloupce a v řádcích se pak ukládají data |
• | Sloupec - vertikální část tabulky, definovaná jménem a datovým typem (případně dalšími parametry), jméno sloupce musí být v rámci tabulky unikátní, nikoliv v rámci databáze; v řádcích se pak v daném sloupci ukládají data definovaného jména a typu |
• | Řádek - horizontální část tabuky, kde jsou ukládána data všech, nebo některých sloupců |
• | Buňka - průnik řádku a sloupce tabulky, hodnota dat daného řádku sloupce |
• | Index - podpůrný mechanismus pro rychlé třídění a vyhledávání v tabulce, obvykle pro daný sloupec |
• | Primární index - index sloupce, kde všechna data musí být vyplněna a musí být unikátní (např. pořadové číslo) |
• | Složený index - index, který je vytvořen nad více sloupci |
• | Struktura databáze - definice struktur všech tabulek, jejich jmen a struktur v dané databázi |
• | Struktura tabulky - definice všech sloupců tabulky, jejich jmen, datových typů a dalších parametrů, indexů a vazeb a omezení |
• | Struktura dat - definice obsahu řádků, jejich identifikace |
Tip!
Pro správu Microsoft SQL databází je dodáván produkt SQL Server Management Studio, což je velice silný nástroj pro veškerou správu databází a to i vzdáleně.
Struktura databáze
Ve stručnosti uveďme, že se jedná o definici tabulek, jejich sloupců, indexů, formátů dat, časů a period ukládání ve kterém mají být data z monitorovacího systému ProCop exportována. Samotnou strukturu tabulek bude nutné nadefinovat v monitorovacím systému ProCop, který ji sám vytvoří v SQL databázi po spuštění exportních úloh. Je potřeba zvážit, zda je vhodné data ukládat do jedné, či více tabulek, zda mají být data v SQL přepisována, nebo přidávána, také množství dat, které bude zpracováváno a tedy i zatížení monitorovacího systému, SQL databáze a její velikost v dlouhodobém měřítku.
Jaká data je potřeba exportovat do SQL databáze:
• | Veškerá nasbíraná data (pozor na obrovský objem dat) |
• | Jen některá data jako: |
o | Teploty a tlaky systémů |
o | Provozní hodiny zařízení |
o | Hlavní hodnoty měřičů spotřeb |
V jakém formátu mají být data do SQL zapisována a jak často:
• | Jedna, nebo více tabulek, například pro každý modul zvlášť |
• | Struktura tabulek |
o | Názvy a SQL typy sloupců |
o | Primární indexy |
o | Obsah sloupců vkládaných exportem, unikátnost identifíkátorů a primárního indexu |
• | Perioda zápisu dat do SQL, přepisování dat v součinnosti s primárními indexy |
Poznámka:
Návrh struktury SQL databáze bývá primárním problémem při zprovozňování výměny dat mezi různými informačními systémy. Na návrhu by se měly účastnit společně všechny dotčené strany, které budou data zpracovávat. Při nevhodném návrhu databáze může v dlouhodobém měřítku docházet k velké zátěži SQL databáze, k pomalému přístupu k datům a může být nasbírán obrovský objem špatně zpracovatelných dat.