XML fejlesztések TSQL fejlesztések Tábla paraméter SQLCLR fejlesztések 8k limit feloldása Több paraméteres UDA-ek Ordered UDF-ek Entity Framework ADO.NET.

Slides:



Advertisements
Hasonló előadás
Felhasználói felületek és üzleti logika
Advertisements

Tananyag: konzultáció
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
© Kozsik Tamás Adatbáziskezelés •Relációs adatbáziskezelők •Noha a Java objektum-elvű, egyelőre nem az objektum-elvű adatbáziskezelőket támogatja.
Anyagadatbank c. tárgy gyakorlat
Adatbázisok SQL. TARTALOM Szijártó M.2 Témakörök  Az SQL tulajdonságai  A műveletek fajtái  Objektum-műveletek  Lekérdezések Tulajdonságok és műveletek.
PL/SQL folytatás Kurzorok Alprogramok Tárolt eljárások ADATBÁZIS ALAPÚ RENDSZEREK.
Felhasználói felületek és üzleti logika Bollobás Dávid ASP.NET
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
1 Informatikai Szakképzési Portál Adatbázis kezelés DCL – Adatvezérlő nyelv.
Delphi programozás alapjai
LINQ to DataSet Kereskényi Róbert
Vállalati adatok megnyitása a külvilág felé
5. GYAKORLAT SQL CREATE TABLE, aktualizálás. S QL Structured Query Language A relációs adatbáziskezelés szabványos nyelve Nem algoritmikus, de beépíthető.
– SQL 2: Adatok kezelése – Tarcsi Ádám, január 30. Adatbázis gyakorlat.
Adatbázis gyakorlat – SUBSELECT – Tarcsi Ádám március.
– Adattáblák & adatok kezelése – Tarcsi Ádám január Adatbázis gyakorlat.
SQL – DQL (Data Query Language ) adat lekérdezések
INSERT INTO Egy vagy több rekordot ad hozzá a táblához. Egyetlen rekordot hozzáfűző kifejezés: INSERT INTO cél_tábla (mező1,mező2,…) VALUES (érték1, érték2,
(MY)SQL MEGJEGYZÉSEK. MYISAM VS. INNODB  A MySQL-ben többféle tárolási motor is használatos: MyISAM, InnoDB  A régebbi verziókban a MyISAM alapértelmezett,
Készítette: Sárközi Anikó
Adatbáziskezelés Horváth Ernő.
Adatbázis-kezelés ACCESS program:
Delphi programozás alapjai Nagyváradi Anett PTE PMMK MIT.
SQL92 lehetőségek KL A tábla B tábla C view adatok VIEW működése utasítás: SELECT.. FROM A,B … SELECT.. FROM C Az adatok a hivatkozáskor állítódnak elő.
ADATBÁZISOK
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
Érettségi feladatok megoldása LINQ-kel
SQL Server 2005 relációs adattárház technológiák
Adatbázis kezelés SQL. Történeti áttekintés 1976IBM:SEQUEL,SQL 1976IBM:SEQUEL,SQL 1983ORACLE 1983ORACLE 1984INFORMIX 1984INFORMIX 1986SQL – szabvány :
XML támogatás adatbázis-kezelő rendszerekben
- adatbázisséma definiálása (DDL) Data Definition Languages, - adatok aktualizálása (DML),Data Maniputaion Language - lekérdezési lehetőségek (DML) Data.
SQL.
Az SQL nyelv alapjai.
DML. Új rekord beszúrása: INSERT INTO tábla (oszlop1,oszlop2,…) VALUES (érték1,érték2,…); Rekord módosítása: UPDATE tábla SET oszlop = érték WHERE feltétel;
Adatkezelés Ez az előadó neve beosztása vállalata.
Adatkezelés ABC: A Create Table-től a megjelenítésig Árvai Zoltán Consultant, Trainer Számalk Oktatóközpont.
Adatbázis adminisztrátori ismeretek
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele a minimum elégséges érdemjegynek!
Adatbázis-kezelés SQL-lel
SQL DDL DATA DEFINITION LANGUAGE. Táblák létrehozása CREATE TABLE táblanév ( oszlopnév1 típus(méret) /DEFAULT érték/ /NOT NULL/, oszlopnév2 típus(méret)
Készítette: Tóth Ervin
Nézzük, mit tudunk…. Mire gondoltam? Megjeleníti az adott adatbázishoz kapcsolódó összes objektumot : adatbázis ablak.
SQL-Structured Query Language. Parancs(utasítás) csoportok CREATE - táblák létrehozása ALTER – táblák módosítása DROP – táblák törlése DDL –Data Definition.
Adatbázis kezelés.
MSSQL szerver 2005/2008.
MERGE utasítás Komponálható DML GROUPING SETS Adattömörítés Csillag Join és Bitmap Filter Sparse oszlopok Filtered index Full Text Kereső Megbízható.
ORACLE ORDBMS adminisztrációs feladatok 3. rész dr. Kovács László 2004.
– SQL 3: SELECT - 1. – Tarcsi Ádám, január 31. Adatbázis gyakorlat.
Adatbázis-kezelés Tarcsi Ádám január. 15. MySQL és PHP.
– SELECT - 2. – Tarcsi Ádám március Adatbázis gyakorlat.
Tarcsi Ádám, Adatbázis gyakorlat – Adattáblák – Tarcsi Ádám, január.
Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai
Adatbázis rendszerek II
Ma az un. Relációs adatmodelleket használjuk.
Szerver és kliens gép közötti kommunikáció Adattárolási modellek  OLTP: OnLine Transaction Processing az MSSQL Szervert egy időben egyszerre sok felhasználó.
5. gyakorlat Fleiner Rita.
Webprogramozó tanfolyam
SQL. SQL jellemzői Nem algoritmikus (nem tartalmaz algoritmikus szerkezeteket: ciklus, eljárás, elágazás) Nem rekurzív (önmagát nem hívhatja) Halmazorientált.
Adatbázis-kezelés 3-4. Adatok lekérdezése utasítás általános formája SELECT [ALL/DISTINCT] {*/, …, } FROM [ ], …, [ ] [WHERE GROUP BY, …, HAVING ORDER.
1 Verseny 2000 gyakorlat SQL 2000 Server Portál adatbázis létrehozása.
– SELECT - 1. – Tarcsi Ádám január Adatbázis gyakorlat.
Haladó Programozás Adatbázis-elérési módszerek összehasonlítása
Török János Zsolt Entity Framework Török János Zsolt
Programozás III JPA.
SQL aggregálás, csoportosítás és összekapcsolás Adatbázisok 1.
Naplóelemzés Log Parserrel
Web programozás és haladó fejlesztési technikák – C#
Előadás másolata:

XML fejlesztések TSQL fejlesztések Tábla paraméter SQLCLR fejlesztések 8k limit feloldása Több paraméteres UDA-ek Ordered UDF-ek Entity Framework ADO.NET Data Services Új adattípusok HierarchyIDFileStreamSpatial

Továbbfejlesztett XML séma ellenőrzés Támogatás Office 12 Documentumok tárolásához és sémaellenőrzéséhez Lax ellenőrzés támogatása „Any” tartalomban amihez van séma validálják, amihez nincs, nem Teljes xs:dateTime implementáció Időzóna nélküli értékek támogatása Időzóna megőrzés Kibővült Lista és Unió típustámogatás Let záradék támogatása XQuery-ben Új fn:upper-case() / fn:lower-case() függvények Támogatott insert into /a/b

Változó számú paraméter típusos átvitelére az adatelérő rétegből a szerverbe CREATE TYPE LocationTableType AS TABLE ( LocationName VARCHAR(50), CostRate INT) CREATE PROC LocationTableType READONLY AS … CREATE TYPE LocationTableType AS TABLE ( LocationName VARCHAR(50), CostRate INT) CREATE PROC LocationTableType READONLY AS … SqlConnection con = new SqlConnection("..."); con.Open(); SqlCommand com = new SqlCommand( "dbo.AddLocation", con); com.Parameters.AddWithValue( "data", datatable); com.ExecuteNonQuery(); SqlConnection con = new SqlConnection("..."); con.Open(); SqlCommand com = new SqlCommand( "dbo.AddLocation", con); com.Parameters.AddWithValue( "data", datatable); com.ExecuteNonQuery();

Eljárások közötti változó számú adat átadására Nincs recompile create type BomType as table ( BomID int, ProductID int ) create procedure BomType readonly as... create type BomType as table ( BomID int, ProductID int ) create procedure BomType readonly as... as BomType; insert (...) select... from Valami where... --Tábla paraméterátadás exec as BomType; insert (...) select... from Valami where... --Tábla paraméterátadás exec

UDT, UDA: 8k limit feloldása SQL Server 2005-ben az UDT-k maximum 8000 bájtosak SQL Server 2008-ban 2GB-osak is lehetnek Ötletek Tömörített string vagy bináris adatok tárolására UDA: Több paraméteres saját aggregáló függvények Eddig csak 1 paraméterük volt Gyakori felhasználásuk korrelációszámításokban

UDF: Sorbarendezett kimenetű saját függvények Ha a tábla kimenetű függvény adatai eleve valamilyen sorrendben jönnek vissza Ha a lekérdezésben pont azonos ORDER BY van, nem kell sorbarendezni a szervernek Insert tábla select from függvény helyzetekben sokat gyorsíthat (az indexek karbantartásához jól jön az előrendezettség)

Domain Model (pl.: Entity Framework) Table Module (pl.: DataSet) Transaction Script (pl.: DbCommand) Forrás: Martin Fowler, Patterns Of Enterprise Application Architecture Az üzleti logika bonyolultsága A karbantartás munkaigényessége

ORM Adatbázis Táblák, sorok, oszlopok Idegenkulcsok Halmazorientált deklaratív nyelv Alkalmazás Kollekciók, objektumok, tulajdonságok Referenciák Algoritmusok programozása Automatizálható adatmegfeleltetés Jól definiálható folyamat Ismétlődő feladatok elvégzése Általánosítható, algoritmizálható feladat

Tábla megfeleltetése objektumnak Több tábla adatai egy objektumba Constraintek (elsődleges kulcs, nullozhatóság stb.) Öröklődések, sok-sok kapcsolatok kezelése { }

Öröklődés Table per Hierarchy Egyetlen tábla Table per Type Öröklődésenként egy tábla Table per Concrete Type Típusonként egy külön tábla Sok-sok kapcsolat Két oszlopos kapcsolótábla **

{ Entity Framework } Egyszerű mapping

Elérhetőség IEnumerable IEnumerable LINQ to Entities Entity SQL VáltozáskövetésSaveChanges Réteges alkalmazások Attach, Detach Tárolt eljárások <FunctionImport <DefiningQuery Többféle adatbázis Providerek

Provider alapú Várható providerek RTM utáni három hónapon belül CoreLab – Oracle, MySql, PostgreSQL, SQLite IBM – DB2, Informix Dynamic Server SUN Microsystems – MySQL OpenLink Software – Oracle, Informix, Ingres, Sybase, MySQL, Postgre, DB2, Progress, MS SQL, ODBC, JDBC Sybase – SQL Anywhere VistaDB - VistaDB

Széleskörű értelmezhetőség AtomPub (XML) JSON Egyszerű publikálás és elérhetőség URI alapú címzés, HTTP protokoll Tárolt eljárás szerű adatelérés támogatása Biztonság Szabályozható objektum láthatóság Policy alapú elérés, Testreszabhatóság

HTTP

URI alapú címzés Presentation control Szűrés, sorbarendezés, lapozás, szülő-gyerek POST, GET, PUT, DELETE - CRUD LeírásPélda ( Legfelső szintű lista/Customers Egy elem a listában/Customers(184) Egy elem kapcsolatán link/Customers(184)/Orders Egy érték (property)/Customers(184)/Orders(15)/Orderdate

{ REST navigáció }

Adat { szinkronizáció }

Változó hosszúságú, beépített CLR típus Hierarchia egy pontját azonosítja Logikai elérési út tömör leírása a fa gyökerétől az adott csomópontig Gazdag metóduskészlet a hierarchia kezeléséhez Egyszerűsítheti a hierarchikus adatok tárolását és lekérdezését elsősorban részfa lekérdezéseket Összehasonlítás, a<b mélységi sorrendben / /1/ /1/1/ /1/1/1/ /1/1/2/ /1/2/ /2//3/ /3/1//3/2/ Mélységi bejárás Szélességi bejárás

{ HierarchyId }

Tárolási módot jelző attribútum VARBINARY(MAX)-hoz Strukturálatlan adatok közvetlenül a fájlrendszerben (NTFS) Csak a diszkterület határolja Tranzakcionálisan ép adatok Kétszintű programozási modell TSQL (a „kis” adatokhoz) Win32 Streaming API T-SQL tranzakcionalitással Integrált felügyelet Mentés / visszaállítás Kezelés Az SQL Server biztonsági rendszerével egységesített BLOB-ok adatbázisban és fájlrendszerben AlkalmazásAlkalmazás BLOB DB

{ FILESTREAM }

Térbeli adatok tárolása és lekérdezése {szabványos} SQL formátummal Teljes Open Geospatial Consortium támogatás (OGC/SQL MM, ISO 19125) Új típusok (geometry, geography) Új metódusok (metszet, távolság, etc.) Új Spatial Indexek Egyelőre 2D-s adatok Virtual Earth integráció

Vektoros adatok Point Pont LineString Folytonos vonalak halmaza Polygon Sokszög (területek, régiók) KollekciókMultiPointMultiLineStringMultiPolygonGeometryCollection

Megvalósítás CLR típusként Jellemzők X, Y - koordináta Z – magasság, csak tárolja, de nem számol vele M – mértékegység és vonatkoztatási pont Spatial Reference Identifier, {SRID} Lista: sys.spatial_reference_systems Geometry típus Sík modell Geography típus Elliptikus, földi modell, a Föld felületén dolgozik Földrajzi szélesség, hosszúság M: WGS84

Néhány támogatott metódus-példa Alakzat területe: STArea kerülete vagy hossza: STLength befoglaló téglalapja: STBoundary Alakzatok között Metszet: STIntersects Unió (valamelyik által lefedett térrész): STUnion Távolság: STDistance

A spatial adatokon végzett bizonyos műveleteket támogatnak meg STIntersectsSTEqualsSTDistance Sík felbontása Mozaikozás Lefedések meghatározása Geography esetén síkra levetítés a felbontás előtt create spatial index idx_Spatial1 on USCity(geom) using geography_grid with ( grids = (high, high, high, high) ); create spatial index idx_Spatial1 on USCity(geom) using geography_grid with ( grids = (high, high, high, high) ); Indexbe

{ Térbeli adatok kezelése }

{ Kezdés 15:05-kor }