- mi az az adatszótár?
- hogyan használja az SQL Server az adatszótár
- az adatszótár egyéb felhasználása
- INFORMATION_SCHEMA Views
- példák INFORMATION_SCHEMA views
- felsorolja az összes táblát, amely tartalmaz egy megadott oszlopot
- sorolja fel az adatbázis összes tábláját
- Lista a Táblák Száma Minden Séma
- SQL Server Katalógus Nézetek
- példák segítségével katalógus nézetek
- az adatbázis összes táblájának felsorolása
- az egyes sémák táblázatainak száma
mi az az adatszótár?
Az SQL Serverben az adatszótár az adatbázis definíciójával kapcsolatos információk tárolására használt adatbázistáblák halmaza. A szótár olyan adatbázisobjektumokkal kapcsolatos információkat tartalmaz, mint a táblázatok, indexek, oszlopok, adattípusok és nézetek.
az adatszótár az SQL Server által használt lekérdezések végrehajtására szolgál, és automatikusan frissül, amikor az objektumok hozzáadásra, eltávolításra vagy megváltoztatásra kerülnek az adatbázisban.
a cikk összes példája a Microsoft SQL Server Management Studio és a AdventureWorks2012 adatbázison alapul. Elkezdheti használni ezeket az ingyenes eszközöket az útmutatóm segítségével az SQL Server használatával.
hogyan használja az SQL Server az adatszótár
SQL Server az adatbázis szótárt az SQL utasítások ellenőrzésére. SQL utasítás végrehajtásakor a DBMS (Database Management System) elemzi a nyilatkozatot, majd meghatározza, hogy a hivatkozott táblázatok és mezők érvényesek-e. Ehhez gyorsan hivatkozik az adatszótárra.
a kimutatások érvényességének tesztelése mellett az SQL Server az adatszótár segítségével segíti a lekérdezési terv létrehozását, valamint az adatbázis szerkezetét meghatározó referenciainformációkat.
az adatszótár önmagában útmutatóvá válik az SQL Server számára az adatok eléréséhez. Egyszerűen fogalmazva, anélkül, hogy az adat szótár, bár az SQL Server tudja és érti az SQL nyelvet, nem tud az adatbázis táblák és oszlopok; ezért nem lenne képes lekérdezni őket.
az adatszótár egyéb felhasználása
mivel az adatszótár tartalmazza az adatbázis meghatározását, ez egy nagyon jó erőforrás az Ön számára, hogy információt szerezzen az adatbázisról. Az igazán jó dolog az, hogy az adatszótár SQL táblákból és nézetekből áll. Ez azt jelenti, hogy lekérdezésekkel kaphat információt a DB-ről!
az Adatszótárakat a tervezők és a fejlesztők használják az adatbázis szerkezetének megértéséhez. A szótárt naprakész referenciadokumentumként tekintheti meg.
olyan tervezési eszközök, mint például az SQL Server Management Studio, az adatbázisokkal kapcsolatos információkat az objektumkezelőn keresztül jelenítik meg az adatszótár segítségével.
A táblázatokban felsorolt nem varázslatosan ismert, inkább az object explorer kiadott egy lekérdezést az adatok szótár letölteni az összes felhasználói táblázatok.
az adatszótár rendszertáblák sorozatában tárolódik. Bár közvetlenül lekérdezheti ezeket a táblákat, a Microsoft fenntartja a jogot az adatszótár részét képező rendszertáblák módosítására. Emiatt azt javasolják, hogy lekérdezze az INFORMATION_SCHEMA nézeteket, szemben a táblázatok közvetlen elérésével.
mivel Ön is lekérdezheti az adatszótárt, válaszolhat néhány olyan kérdésre, amelyek egyébként sok vadászatot igényelnének, és az object explorer segítségével csipkedhetik magukat. Például, hogyan lehet könnyen megtalálja az összes táblát és nézetet az oszlop használatával BusinessEntityID? Az adatszótár nélkül az object Explorert kell használnod, és minden táblát meg kell nyitnod, meg kell nézned, majd át kell nézned az oszlop definícióit. Az adatszótár használatával azonban ezt egyszerű lekérdezéssel lehet elvégezni.
INFORMATION_SCHEMA Views
az SQL Serverben található INFORMATION_SCHEMA nézetek megfelelnek az SQL-92 ISO szabványnak. Ez azt jelenti, hogy más adatbázis-gyártók, amelyek megfelelnek az ISO szabványnak, ugyanazokat a nézeteket nyújtják.
Íme néhány a leggyakrabban használt nézetek, valamint azok leírását:
- COLUMNS-vissza egy sort minden oszlop az aktuális felhasználó hozzáférhet használni az aktuális adatbázisban. Ez a nézet lehet használni, hogy meghatározza az adattípus és a táblázat az oszlop meghatározott használatra.
- TABLES-vissza egy sort minden táblázat a felhasználók hozzáférhetnek használni az aktuális adatbázisban. Megjegyzés: mind a táblázatok, mind a nézetek a táblázatok nézet használatával kerülnek visszaadásra.
- VIEW_TABLE_USAGE-vissza egy sor minden tábla, hogy használják a nézetben az aktuális adatbázisban.
- VIEWS-visszatérés egy sor nézetek, hogy lehet elérni a currents felhasználó engedélyeit az aktuális adatbázisból.
példák INFORMATION_SCHEMA views
felsorolja az összes táblát, amely tartalmaz egy megadott oszlopot
ezt az INFORMATION_SCHEMA használatával teheti meg.Oszlopok nézet. Például a következő felsorolja az összes táblázatot és nézet tartalmazza az oszlopot BusinessEntityID
SELECT TABLE_NAMEFROM AdventureWorks2012_Data.INFORMATION_SCHEMA.COLUMNSWHERE COLUMN_NAME = 'BusinessEntityID'
ahogy el tudod képzelni az adatszótár hasznos lehet! El tudod képzelni, hogy minden definíciót kézzel kell keresni, hogy megtalálja az adatbázisban lévő mező összes előfordulását?
sorolja fel az adatbázis összes tábláját
használja az INFORMATION_SCHEMA-t.Táblázatok nézet erre.
SELECT TABLE_NAME, TABLE_TYPEFROM AdventureWorks2012_Data.INFORMATION_SCHEMA.TABLESORDER BY TABLE_NAME
Ez a lekérdezés mindkét alaptáblát, valamint a nézeteket adja vissza.
Lista a Táblák Száma Minden Séma
ebben A példában minden séma, a táblák száma néző meghatározott belül vannak felsorolva:
SELECT TABLE_SCHEMA, Count(TABLE_SCHEMA)FROM AdventureWorks2012_Data.INFORMATION_SCHEMA.TABLESGROUP BY TABLE_SCHEMA
SQL Server Katalógus Nézetek
A katalógus nézetek egy másik módja az adatok megtekintéséhez a szótár. Úgy érzem, hogy az objektumkatalógus nézetei több információt szolgáltatnak, és ezeket a nézeteket inkább az INFORMATION_SCHEMA nézetekre használom.
néhány nézet, amelyet a leghasznosabbnak találtam, a következők:
- objektumok – tartalmaznak egy sort minden objektumhoz, például egy idegen kulcs vagy az adatbázisban meghatározott elsődleges kulcskorlátozás.
- oszlopok-tartalmaz egy sort egy objektum minden oszlopához, például nézethez vagy táblázatokhoz.
- tables-vissza egy sort minden tábla objektum
példák segítségével katalógus nézetek
a következő példák a Microsoft SQL Server katalógus nézetek szerezni ugyanazt az információt használja ezt a fenti a INFORMATION_SCHEMA.
felsorolja az összes táblát, amely tartalmaz egy megadott oszlopot
annak érdekében, hogy a táblák nevét egy adott oszlop segítségével megkapja, mind a sys.Asztalok és sys.oszlopok nézet együtt kell használni. Ezeket az object_id segítségével kapcsolják össze, amely a közös adatbázisobjektumok, például táblázatok és nézetek azonosítására szolgál.
SELECT t.name, t.type_descFROM AdventureWorks2012_Data.sys.columns AS cINNER JOIN sys.tables AS t ON c.object_id = t.object_idWHERE c.name = 'BusinessEntityID'
az adatbázis összes táblájának felsorolása
a sys.táblázatok nézet lehet használni, hogy nevét az összes tábla az adatbázisban meghatározott. Ez a nézet mind az alaptáblákat, mind a nézeteket visszaadja.
SELECT name, type_descFROM AdventureWorks2012_Data.sys.tablesORDER BY Name
az egyes sémák táblázatainak száma
a sys.a táblázatok nézet nem tartalmaz sémanevet, így a beépített funkciós SCHEMA_NAME-et használják annak megszerzéséhez.
SELECT SCHEMA_NAME(schema_id), count(name)FROM AdventureWorks2012_Data.sys.tablesGROUP BY SCHEMA_NAME(schema_id)
mint látható a példából, ez egy kicsit technikai, mint a INFORMATION_SCHEMA. Tapasztalatból azonban azt mondom, hogy a katalógus nézeteiben sokkal több információ található … Ha van egy konkrét kérdése az adatbázis szerkezetével kapcsolatban, akkor ezeket a táblázatot kell eltalálni.