2012.05.11.
SQL- Utasítások csoportosítása
Adatbázisok I
Definíció: DDL: - objektum létrehozás - objektum megszüntetés - objektum módosítás
CREATE DROP ALTER
Módosítás: DML: - rekord felvitel - rekord törlés - rekord módosítás
INSERT DELETE UPDATE
Lekérdezés: DQL: - lekérdezés
SELECT
Vezérlés DCL: - védelem - tranzakció kezelés
GRANT,.. COMMIT,.. 2
SQL nyelv –Táblák összekapcsolása
Táblák összekapcsolása
• A normalizálási folyamat általában sok táblára bont szét egy adatstruktúrát • Gyakori az a helyzet, hogy egy táblában nem áll rendelkezésre egy lekérdezéshez szükséges összes információ, ilyenkor több táblából kell az adatokat összegyűjteni • Ehhez az SQL a JOIN, azaz összekapcsolás művelet különböző változataival nyújt segítséget
• A JOIN művelet a két vagy több tábla – rekordjaiknak az eredménytáblában történő összekapcsolását jelenti, – a legtöbbször egy vagy több kapcsoló mező (Join Field) értékegyezősége alapján kapcsolja össze a két tábla rekordjait.
3
4
1
2012.05.11.
SQL nyelv –Táblák összekapcsolása
A JOIN típusai
• Descartes szorzat:
A Táblák közti összekapcsolás módozatait mindig a lekérdezés FROM részében adjuk meg: • Az összekapcsolás bal oldali táblájának (Left Side Table) nevezzük a FROM részben elsőként hivatkozott táblát. • Az összekapcsolás jobb oldali táblájának (Right Side Table) nevezzük a FROM részben másodikként hivatkozott táblát. • A lekérdezések túlnyomó részében a bal és jobb oldalon két különböző tábla található. • Előfordulhat, hogy a bal és a jobb oldali tábla azonos, mert egy táblát és a rá hivatkozó aliast-t csatoljuk össze. Ez általában önmagára visszamutató relációk mentén történő lekérdezésekben szerepel.
SELECT * FROM táblanév1, táblanév2 Vagy SELECT * FROM táblanév1 CROSS JOIN táblanév2
Az eredményhalmaz sorainak száma= táblanév1.sorainakSzama*táblanév2.SorainakSzama
• Belső összekapcsolás (Theta összekapcsolás) INNER JOIN művelet SELECT * FROM tabla1 INNER JOIN tabla2 ON tabla1.attribútum1 = tabla2.attribútum2; Kapcsoló mezők 5
6
Táblák összekapcsolása
Táblák összekapcsolása
Reláció aliasok SELECT alias.attribútum FROM relació [AS] alias;
• INNER JOIN – Egy vagy több mező egyezése alapján kapcsolja össze a rekordokat, de csak azokat, amelyben a JOIN operátorban megadott mezők egyeznek.
Tábla összekapcsolása önmagával SELECT alias1.attribútum1, alias2.attribútum2, … FROM reláció [AS] alias1, reláció AS alias2;
7
8
2
2012.05.11.
SQL SELECT - a join megadása
SQL Szelekciós join:
SELECT mlista FROM tabla1, tabla2,.. WHERE feltétel; AUTÓ rsz tulaj r1 3 r4 1 r6
4
rsz
összekapcsolás
EMBER id név 1 Laci 2 Ágota 3 4
János Zoltán
tulaj id
név
r1 r4 r6 r1
3 1 4 3
1 1 1 2
Laci Laci Laci Ágota
Ha a feltétel elmarad Descartes szorzatot kapunk
r4 r6 r1 r4 r6
1 4 3 1 4
2 2 3 3 3
Ágota Ágota János János János
Kettőnél több tábla is összekapcsolható
r1 r4 r6
3 1 4
4 Zoltán 4 Zoltán 4 Zoltán
SELECT * FROM AUTO, EMBER WHERE TULAJ = ID; Ha több táblában is azonos elnevezésű mező van, akkor a kibővített mezőnevet használjuk: tábla.mező SELECT * FROM AUTO, EMBER WHERE AUTO.TULAJ = EMBER.ID; Ha hosszú a táblanév alias nevet használhatunk:
tábla alias
SELECT * FROM AUTO A, EMBER E WHERE A.TULAJ = E.ID;
9
10
Descartes szorzat
Alkalmazott tábla (emp)
Listázzuk ki az egyes részlegeken dolgozó alkalmazottakat! SELECT emp.ename as név, dept.dname "Részleg neve" FROM emp, dept Vagy : SELECT emp.ename as név, dept.dname "Részleg neve" FROM EMP Cross JOIN DEPT
... Fizetési kategóriák (Salgrade tábla)
Részlegek (osztályok; department)
NEM ÍGY GONDOLTUK! Eredmény sorainak száma 14*5=70
11
12
3
2012.05.11.
Egy feltétel megadásával már jó eredményt kapunk!
Azoknak az alkalmazottaknak a neve, részlegük neve, és a részleg telephelye, akiknek a nevében R betű van.
SELECT emp.ename As név, dept.dname As "Részleg neve" FROM emp, dept WHERE emp.deptno=dept.deptno;
SELECT emp.empno As Azonosító, emp.ename As név, dept.dname As "Részleg neve", dept.loc As telephely FROM emp, dept WHERE emp.deptno=dept.deptno AND emp.ename LIKE '%R%';
13
14
Tábla összekapcsolása saját magával Adjuk meg a dolgozók és főnökeik nevét!
Az egyes alkalmazottak milyen fizetési kategóriába esnek? SELECT emp.ename As név, emp.sal As fizetes, salgrade.grade As "fizetési besorolás" FROM emp, salgrade WHERE emp.sal BETWEEN salgrade.losal AND salgrade.hisal;
SELECT dolgozo.ename As dolgozó, fonok.ename AS Főnök FROM emp dolgozo, emp fonok WHERE dolgozo.mgr=fonok.empno;
15
16
4
2012.05.11.
Számoljuk meg részlegenként az alkalmazottak számát!
Táblák összekapcsolása
SELECT d.dname As részlegnév, count(e.ename) AS létszám FROM emp e, dept d WHERE e.deptno=d.deptno GROUP BY d.dname;
Külső összekapcsolás SELECT * FROM reláció1 LEFT | RIGHT JOIN reláció2 ON reláció1.attribútum1 = reláció2.attribútum2;
De hol a Operations és a Kereskedes részleg? Ezen segít a külső összekapcsolás
Külső összekapcsolásnál fontos szerepe van annak, hogy a FROM kulcsszó után melyik tábla szerepel. Ezt bal oldali táblának hívjuk. A JOIN operátorban megadott tábla lesz a jobb oldali tábla. A LEFT OUTER JOIN a bal oldali tábla minden sorát, a RIGHT OUTER JOIN a jobb oldali tábla minden sorát tartalmazza, akkor is , ha nem talál illeszkedést a másik táblában.
SELECT d.dname As részlegnév, count(e.ename) AS létszám FROM dept d LEFT OUTER JOIN emp e ON e.deptno=d.deptno GROUP BY d.dname;
17
Adjuk meg részlegenként a dolgozók nevét!
18
Táblák összekapcsolása
SELECT e.ename As név, d.deptno As kód, d.dname As részlegnév FROM emp e Right OUTER JOIN dept d ON e.deptno=d.deptno;
• FULL OUTER JOIN művelet Eredménye a jobb és bal oldali táblák minden sorát fogja tartalmazni, azokat is, amelyekhez nincs illeszkedés a másik oldalon.
19
20
5
2012.05.11.
SQL- Utasítások csoportosítása
Módosítás
Definíció: DDL: - objektum létrehozás - objektum megszüntetés - objektum módosítás
CREATE DROP ALTER
Módosítás: DML: - rekord felvitel - rekord törlés - rekord módosítás
INSERT DELETE UPDATE
Lekérdezés: DQL: - lekérdezés
SELECT
Vezérlés DCL: - védelem - tranzakció kezelés
GRANT,.. COMMIT,..
Rekord felvitele: INSERT INTO tabla VALUES (mezo=ertek,…); Az érték lehet NULL is. Nem maradhat ki mező. Fontos a mezősorrend INSERT INTO AUTO VALUES (“bju564”,234,”FIAT”); INSERT INTO AUTO VALUES (“bju564”,234,NULL); INSERT INTO AUTO VALUES (RSZ=“bju564”,...);
21
22
SQL- Utasítások csoportosítása
Módosítás Rekord törlése: DELETE FROM tabla WHERE feltétel; A feltételnek eleget tevő rekordok törlődnek Ha elmarad a WHERE tag, minden rekord törlődik DELETE FROM AUTO WHERE AR<1200000; Rekord módosítása: UPDATE tabla SET mezo= érték,... WHERE feltétel; A feltételnek eleget tevő rekordok módosulnak Ha elmarad a WHERE tag, minden rekord módosul UPDATE AUTO SET AR = AR * 1.2 WHERE AR<1200000; 23
Definíció: DDL: - objektum létrehozás - objektum megszüntetés - objektum módosítás
CREATE DROP ALTER
Módosítás: DML: - rekord felvitel - rekord törlés - rekord módosítás
INSERT DELETE UPDATE
Lekérdezés: DQL: - lekérdezés
SELECT
Vezérlés DCL: - védelem - tranzakció kezelés
GRANT,.. COMMIT,.. 24
6
2012.05.11.
Táblák létrehozása
Táblák megadása
• Az üres adatszerkezeti elemeket, struktúrákat kell először megadni, később töltjük fel őket adatokkal • A táblázat szerkezete, sémája, a már ismert, a táblázathoz tartozó adatmezőkkel írható le. • A mezők megadása a
• Összefoglalva a tábla létrehozásakor meg kell adni: – Tábla nevét – Mezők nevét – Mezők típusát – Integritási feltételeket
– Mezők nevének – Adattípusának és – Az integritási feltételeknek a kijelölésével történik.
25
26
Táblák megadása
Táblák megadása
CREATE TABLE tnév (mnév1 típus1 intfelt1, … intfelt);
• CREATE TABLE táblanév(m1 t1 [i1] [, …, mi ti [ii]], [ig]); m i: ti : ii : ig:
mezőnév típus mezőhöz kötött integritási feltétel mezőcsoporthoz kötött integritási feltétel
CHAR(n)
PRIMERY KEY
NUMBER(n,m)
NOT NULL
DATE
UNIQUE CHECK felt REFERENCES tábla PRIMERY KEY (m1,m2) FOREIGN KEY(m1, m2) REFERENCES tábla CHECK felt CREATE TABLE AUTO (RSZ CHAR(6) PRIMARY KEY, AR NUMBER(9) NOT NULL, GYART_IDO DATE);
27
28
7
2012.05.11.
Adattípusok
Numerikus adattípusok
• Szabványosított hivatkozást nehéz megadni, mert a legtöbb elterjedt RDBMS más-más elnevezést használ. • Legfontosabb típusok:
• Fix vagy lebegőpontos számok – Fixpontos adattípusok: A fixpontos szám rendelkezik egész (P) és tizedesjegy(S) résszel. • NUMERIC(P,S) • DECIMAL(P,S) • INTEGER • SMALLINT
– CHAR (n) : n hosszúságú szöveg – NUMBER(n [,m]) : n hosszú szám, ahol m a tizedesjegyek száma – DATE : dátum
29
30
Dátum és Idő
Numerikus adattípusok
• Dátum és idő kezelése sok problémát vet fel • Dátum típusú konstans formája:
• Fix vagy lebegőpontos számok – Lebegőpontos adattípusok:
– DATE '1948-05-14' – TIME '15:00:02.5' – Dátum és idő együtt jelenik meg a TIMESTAMP értékben:
Mantissza és kitevő is előjeles érték. A lebegőpontos értéknek "pontosság" tulajdonsága is van. (A mantisszában lévő szignifikáns bináris számjegyek száma) • FLOAT(P) • REAL • DOUBLE PRECISION
• TIMESTAMP '1948-05-14 12:00:00'
Microsoft SQLServer dátumábrázolása
DateTime típus :1753.jan.1. és 9999.dec.31 közötti dátumidő adatok három századmásodperc pontossággal, 8 byte-on tárolva SmallDateTime típus: 4 byte, 1900.jan.12079.jún.6 közötti egyperces pontossággal.
– Egyedi adattípus: • MONEY
• A numerikus adattípusok esetében sok problémát okoz, hogy a tárolás megvalósítás függő. 31
32
8
2012.05.11.
Megszorítások
Példa táblák létrehozására
Egy oszlopra vonatkozó megszorítások
CREATE TABLE Auto ( TUL NUMBER(3) NOT NULL, RSZ CHAR(6) NOT NULL UNIQUE, TIP CHAR(10), SZIN CHAR(10), EVJ NUMBER(4), AR NUMBER(8));
NULL az attribútum definíciójában arra utal, hogy az adat megadása nem kötelező, ez az alapértelmezés ezért a legritkább esetben írják ki. NOT NULL az attribútum definíciójában arra utal, hogy az adat megadása kötelező, azaz nem vihető be olyan sor a relációban, ahol az így definiált adat nincs kitöltve. PRIMARY KEY ez az oszlop a tábla elsődleges kulcsa. UNIQUE ez az oszlop a tábla kulcsa. CHECK(feltétel) csak feltételt kielégítő értékek kerülhetnek be az oszlopba. [FOREIGN KEY] REFERENCES reláció_név [ (oszlop_név) ], ez az oszlop külső kulcs
33
34
Tábla szerkezet módosítása
Több oszlopra vonatkozó megszorítások
ALTER objektumtípus azonosító paraméterek
PRIMARY KEY(oszlop1[, oszlop2, ...]) ezek az oszlopok együtt alkotják az elsődleges kulcsot. UNIQUE(oszlop1[, oszlop2, ...]) ezek az oszlopok együtt kulcsot alkotnak. CHECK(feltétel) csak feltételt kielégítő sorok kerülhetnek be a táblába. FOREIGN KEY (oszlop1[, oszlop2, ...]) REFERENCES reláció(oszlop1[, oszlop2, ...]), az oszlopok külső kulcsot alkotnak a megadott tábla oszlopaihoz.
ALTER TABLE tnév ADD|MODIFY(mnev tip intfelt | intfelt); ALTER TABLE Auto (TULAJ REFERENCES Ember); Objektum megszüntetése: DROP objektumtípus azonosító paraméterek DROP TABLE tnév; Pl. DROP TABLE Auto 35
36
9
2012.05.11.
Példák
Példák
CREATE TABLE osztaly ( oszt_azon INT PRIMARY KEY, nev VARCHAR(14) NOT NULL, varos VARCHAR(13) NOT NULL, CONSTRAINT unev UNIQUE(nev));
CREATE TABLE fiz_oszt ( f_oszt INT PRIMARY KEY, min FLOAT NOT NULL, max FLOAT NOT NULL, CONSTRAINT min_max CHECK (min < max));
CREATE TABLE alkalmazott ( alk_azon INT PRIMARY KEY, nev VARCHAR(10) NOT NULL, beosztas VARCHAR(9) NOT NULL, belepes DATE NOT NULL, fizetes FLOAT NOT NULL, jutalom FLOAT, oszt_azon INT NOT NULL, CONSTRAINT alk_kulso_kulcs FOREIGN KEY (oszt_azon) REFERENCES osztaly (oszt_azon)); 37
Példák
38
Indexek
ALTER TABLE reláció_név ADD attribútum_név adattípus [(szélesség)]; ALTER TABLE reláció_név MODIFY attribútum_név adattípus (új_szélesség) [NOT NULL]; ALTER TABLE reláció_név RENAME COLUMN régi_név TO új_név; ALTER TABLE reláció_név DROP COLUMN attribútum_név; DROP TABLE [IF EXISTS] reláció_név;
CREATE [UNIQUE] INDEX index_név ON reláció(oszlop1, oszlop2, ...); Egyedi index = kulcs Példák CREATE INDEX belepes_index ON alkalmazott(belepes);
Példák ALTER TABLE osztaly ADD oszt_vez int2 NOT NULL; ALTER TABLE osztaly DROP COLUMN oszt_vez; DROP TABLE osztaly; kényszerek (alkalmazott külső kulcs hivatkozás) miatt nem hajtható végre!
DROP INDEX belepes_index;
39
40
10
2012.05.11.
Adatbázis létrehozása
Tábla létrehozása, törlése
CREATE DATABASE
[ON ( [ NAME = logical_name, ] FILENAME = physical_file_name [, FILESIZE = size ] [, MAXSIZE = maxsize ] [, FILEGROWTH = growth_increment] ) ] [LOG ON ( [ NAME = logical_name, ] FILENAME = physical_file_name [, FILESIZE = size ] [, MAXSIZE = maxsize ] [, FILEGROWTH = growth_increment] ) ] [COLLATE collation_name ]
CREATE TABLE [database_name].[schema_name].table_name (column_name data_type [length] [IDENTITY(seed, increment)] [NULL/NOT NULL]) Törlés: DROP TABLE táblanév; Pl.: USE Northwind DROP TABLE Customers
41
42
Karakter típusú adatok
Karakter típusú adatok
43
44
11
2012.05.11.
Numerikus adatok tárolása
Numerikus (valós típus) adatok tárolása
45
46
Érték tartományok
Megszorítások • A megszorítás biztosítja, hogy adataink megfeleljenek az adatintegritási szabályoknak • Típusai: – Entitás megszorítások – Tartományi megszorítások – Hivatkozási integritás megszorítások
47
48
12
2012.05.11.
Tartományi megszorítások
Entitás-megszorítások
• Egy vagy több oszloppal foglalkoznak • Ellenőrzi, hogy egy adott oszlop vagy oszlopok megfelelnek-e egy adott feltételnek, (az egész oszlop függetlenül attól hány sora van) megfelel-e a megszorításnak. • Például: az egységár csak pozitív lehet
• Egyedi sorokra vonatkoznak. • Jelentése: Ehhez a sorhoz nem létezhet már ugyanaz az érték mint bármelyik más sorban.
49
Hivatkozási integritás
50
Kulcs megszorítások
• Egy oszlopbeli értéknek meg kell felelnie egy más oszlopban lévő értéknek, amely ugyanabban vagy másik táblában van. • Tartományi táblák • Hivatkozási táblák
• Elsődleges kulcsok – PRIMARY KEYmegszorítások • Idegenkulcs - FOREIGN KEY megszorítás • Alternatív kulcs - UNIQUE-megszorítás
51
52
13
2012.05.11.
Kulcs megszorítások
PRIMARY KEY megszorítás Tábla létrehozásakor:
• Elsődleges kulcsok – PRIMARY KEYmegszorítások • Létrehozás:
CREATE TABLE Dolgozók (DolgozóKód int IDENTITY NOT NULL PRIMARY KEY, DolgozoNev varchar (40) …. FonokKod int NULL . stb.)
– CREATE TABLE – ALTER TABLE utasításokkal
Meglévő táblán: ALTER TABLE Dolgozók ADD CONSTRAINT PK_DolgozóKód PRIMARY KEY (DolgozóKód) 53
Idegenkulcs megszorítás
54
Idegenkulcs megszorítás
• Adatintegritás biztosítása • Táblák közötti kapcsolatok megvalósítása • Létrehozás:
• Tábla létrehozásakor: CREATE TABLE Rendelesek ( RendelSzam int IDENTITY NOT NULL PRMARY KEY, VevoKod int NOT NULL FOREIGN KEY REFERENCES Vevok(VevoKod), stb. )
– CREATE TABLE – ALTER TABLE utasításokkal
55
56
14
2012.05.11.
UNIQUE megszorítások
Idegenkulcs megszorítás • Létező tábla esetén:
• Sokszor alternatív kulcsként hivatkoznak rá. • Az adott oszlopban egyedi értékeket jelöl. • Egy táblában egynél több unique megszorítás is lehet. (Primary Key csak egy!) • Megengedi a mezőben a NULL értéket (de csak egyszer fordulhat elő)
ALTER TABLE Rendelesek ADD CONSTRAINT FK_REndLetrehoz FOREIGN KEY (Vevokod) REFERENCES Vevok(VevoKod)
• Tábla önmagára hivatkozóvá tétele ALTER TABLE Dolgozók ADD CONSTRAINT FK_Fonok FOREIGN KEY (FonokKod) REFERENCES Dolgozók(DolgozóKód)
57
UNIQUE megszorítás
58
UNIQUE megszorítás
• Létrehozás:
• Létrehozás:
– CREATE – ALTER utasításokkal
– CREATE – ALTER utasításokkal
CREATE TABLE Dolgozók ( DolgozóKód int IDENTITY NOT NULL PRIMARY KEY, …. Telefonszám varchar(14) NOT NULL UNIQUE )
ALTER TABLE Dolgozók ADD CONSTRAINT AK_Telefonszám UNIQUE (Telefonszám)
59
60
15
2012.05.11.
CHECK megszorítások
DEFAULT megszorítások • Alapértelmezésnek is nevezzük • Azt adja meg, mit kell tenni, ha egy új rekordot szúrunk be a táblába, és a beszúráskor az adott oszlophoz nem rendelünk értéket • Alapértelmezést csak az INSERT utasításban használunk • Ha bármilyen értéket megadunk az INSERT utasításban, akkor az alapértelmezést nem használja • Ha nem adunk meg értéket, akkor mindig az alapértelmezést használja
• Oszlophoz, de táblához is kapcsolódhatnak • A WHERE záradék szabályaihoz hasonlóan definiálhatjuk ALTER TABLE Dolgozók ADD CONSTRAINT CN_BelepDatum CHECK (BelepDatum<=GETDATE())
61
DEFAULT megszorítás
62
DEFAULT megszorítás
CREATE TABLE Szallítók ( SzKód int IDENTITY NOT NULL
ALTER TABLE Vevok ADD CONSTRAINT CN_Miota
PRIMARY KEY, SzallNev varchar(35) NOT NULL, RogzitesDatuma smalldatetime NOT NULL DEFAULT GETDATE()
DEFAULT GETDATE() FOR RogzDatum Másik példa:
ALTER TABLE Vevok ADD CONSTRAINT CN_Cim
)
DEFAULT 'Ismeretlen' FOR VevoCim 63
64
16
2012.05.11.
Nézet létrehozása az Employees táblából
Nézetek
USE Northwind GO CREATE VIEW Dolg_Telefon_VW AS SELECT LastName, FirstName, HomePhone FROM Employees
• A nézet egy tárolt lekérdezés • Egyszerű nézetek: CREATE VIEW AS <SELECT utasítás>
Command(s) completed successfully.
SELECT futtatása nézeten:
65
66
Nézet (VIEW)
Miért használunk nézettáblát?
• A nézet fizikailag nem tárol adatokat, csak egy lekérdező utasítást, amelyek segítségével fizikai vagy más, már létező nézettáblákra hivatkozik. • "Tartalma " automatikusan frissítődik, mivel nem tárol adatot
• Segítségükkel a gyakori lekérdezések eltárolhatók. • A felhasználó egyszerű (származtatott) lekérdezésekből építhet fel bonyolult lekérdezéseket • Korlátozhatjuk az adathoz való hozzáférést, mert egy nézetben csak a benne hivatkozott adattáblák oszlopait látjuk • Adatfüggetlenség biztosítható
67
68
17
2012.05.11.
Nézet (VIEW)
Nézet (VIEW)
• Lehet
Összetett nézet: Az alkalmazottak telephelyenkénti csoportjainak maximális és átlagfizetését tartalmazó nézet.
– Egyszerű – csak egy adattáblát tartalmaz – Összetett – minden más esetben
• Egyszerű nézet: Hozzunk létre nézetet az emp tábla manager-eiből.
69
Nézet (VIEW)
70
Nézet (VIEW)
Nézet felhasználása: Listázzuk ki fizetés szerint rendezve azokat a dolgozókat, akiknek fizetése a Dallasi és New York-i telephely átlagfizetését meghaladja.
Beszúrás (INSERT) nézeten keresztül bizonyos korlátozással lehetséges Törlés: DROP VIEW nézetnév; Példa : DROP VIEW osszetett
71
72
18
2012.05.11.
MSSQL rendszerfüggvények
MSSQL rendszerfüggvények
• Dátum és időfüggvények
• Dátum és időfüggvények
– DATE egy dátum típusú értéket ad vissza; szintaxis: DATE(year, month, day) – DATEADD, dátumhoz ad hozzá egy időintervallumot, és egy új dátummal tér vissza DATEADD (dátumrész, szám, kezdődátum) példa: DATEADD(MONTH, 3, #8/18/2009#) eredmény: 11/18/2009 – DATEDIFF ( datepart , startdate , enddate )
– SELECT DATEDIFF(day, '2007-05-07 09:53:01.0376635' , '2007-05-08 09:53:01.0376635'); eredmény=1 – USE AdventureWorks SELECT DATEDIFF(day,(SELECT MIN(OrderDate) FROM Sales.SalesOrderHeader), (SELECT MAX(OrderDate) FROM Sales.SalesOrderHeader));
73
Microsoft SQL Server
74
Minimális hardware követelmények
A Microsoft® SQL Server® 2008 egy megbízható, biztonságos, hatékony és intelligens adatplatformot és üzleti intelligencia megoldást nyújt, amellyel a legnagyobb kihívást jelentő alkalmazásokat is futtathatja, csökkentheti a fejlesztéshez és üzemeltetéshez szükséges erőforrásokat és a teljes szervezet számára nyújthat üzletileg fontos elemzéseket.
Követelmények
75
32-bit
64-bit
Pentium III vagy nagyobb
Itanium, Opteron, Athelon vagy Xeon/Pentium EM64T támogatással
Processzor sebesség
1 Ghz vagy nagyobb
1,6 Ghz vagy nagyobb
Memória
512 MB
512 MB
Processzor
76
19
2012.05.11.
Támogatott operációs rendszerek
Szoftver követelmények
Az SQL Server mind 32, mind 64 bites operációs rendszerre telepíthető. A 64-bites SQL Server-t csak 64 bites operációs rendszerre lehet telepíteni. A 32 bites SQL Server viszont mind 32 bites Windowsra mind 64 bites Windowsra telepíthető. (Csak ha a Windows On Windows funkció él a 64 bites Windowson )
.NET Framework 3.5 Windows Installer 4.5 Microsoft Data Access Component 2.8 SP1 Shared Memory, Named Pipes vagy TCP/IP Internet Explorer 6 SP1 vagy nagyobb
77
SQL Server változatok
78
SQL Server 2008 Enterprise Edition
79
CPU--k száma CPU
Unlimited Clustering
Adatbázis mérete
Unlimited Database Mirroring
RAM
Unlimited Hot Add Memory/CPU
SQL Server Management Studio
Stored Procedures, triggers, and viewes
Full Text Search
Import/Export Wizard
Particionálás
Office Integration
Parallel Operations
Report Builder
Multiple Instance
Data Minin / OLAP Processing
Log compression
Transactional Replication
80
20
2012.05.11.
SQL Server 2008 Workgroup Edition
SQL Server 2008 Standard Edition CPU--k száma CPU
4
Clustering
2 nodes
CPU--k száma CPU
4
Clustering
Adatbázis mérete
Unlimited
Database Mirroring
Single thread
Adatbázis mérete
Unlimited
Database Mirroring
RAM
Unlimited
Unlimited
Hot Add Memory/CPU
RAM
SQL Server Management Studio
Stored Procedures, triggers, and viewes
SQL Server Management Studio
Stored Procedures, triggers, and viewes
Hot Add Memory/CPU
Full Text Search
Import/Export Wizard
Full Text Search
Import/Export Wizard
Particionálás
Office Integration
Particionálás
Office Integration
Parallel Operations
Report Builder
Parallel Operations
Report Builder
Multiple Instance
Data Minin / OLAP Processing
Multiple Instance
Data Minin / OLAP Processing
Log compression
Transactional Replication
Log compression
Transactional Replication
81
SQL Server 2008 Express Edition
82
Adatbázis struktúra
CPU--k száma CPU
1
Clustering
Adatbázis mérete
4 GB
Database Mirroring
RAM
1 GB
Hot Add Memory/CPU
SQL Server Management Studio
Külön letölthető
Stored Procedures, triggers, and viewes
Full Text Search
Advanced
Import/Export Wizard
N/A
Office Integration
Advanced
Parallel Operations
Report Builder
Advanced
Multiple Instance
Data Minin / OLAP Processing
N/A
Log compression
Transactional Replication
Subscriber
Particionálás
Subscriber Only
83
84
21
2012.05.11.
Hogyan tároljuk az adatokat?
Adatbázis komponensek
85
86
SQL Server rendszeradatbázisai • • • • •
Master Model Msdb Tempdb Resource (mssqlsystemresource) rejtett, nem látható, gyors és biztonságos upgrade számára hozta létre a Microsoft
87
22