Transcript Document

MSSQL SZERVER 2005/2008
Szerver és kliens gép közötti
kommunikáció
Adattárolási modellek
 OLTP: OnLineTransaction Processing
az MSSQL Szervert egy időben egyszerre sok
felhasználó használja és valós időben
cserélnek benne adatokat
 OLAP: OnLine Analitical Processing
az adatok rendezve és összesítve találhatók
meg, mely a gyors adatfeldolgozást teszi
lehetővé szintén valós időben
Mire van szükség szerver és
kliens oldalon?
komunikáció
 A kliens alkalmazás egy kérést generál.
 Ezután az alkalmazás az operációs rendszert
(Windows) hívja segítségül, hogy a lekérdezést
elküldje a hálózaton.
 A szerveren lefut az SQL lekérdezés, előállnak az
adatok.
 Az adat előkészül a hálózaton való továbbításra.
Optimalizálódik a küldési folyamat és az adatforma.
 A lekérdezés elküldése a hálózaton, a kliens fogadja
a választ és a felhasználónak megjeleníti.
Adatbázis a szerveren
 Rendszer adatbázis:
az MSSQL Szerver egészéről találunk
információt
 Felhasználói adatbázis:
maga a felhasználó hozza létre. Ebben az
adatbázisban tudunk mi dolgozni
Bejelentkezés: a biztonság első
foka
A felhasználók alapvetően három
csoportba oszthatók, attól
függően, hogy milyen jogaik
vannak a szerveren:
 Fix Szerveri Jogok
 a Fix Adatbázis Jogok
 Felhasználó Által Definiált Adatbázisbeli Jogok
Sikeres és sikertelen
csatlakozási kísérlet
Az adatbázis megtervezésénél a
következő javasolt lépéseket célszerű
betartani:
 Meghatározzuk az adatbázis célját
 Meghatározzuk az egyedeket, a táblákat, a





tárolandó értékek típusát, attribútumát.
Elsődleges és idegen kulcsot definiálunk.
Kialakítjuk a kapcsolatokat a táblák között.
Teszteljük az adatbázist működés közben.
a tárolt eljárások
biztonsági/hozzáférési jogosultságok
Adatbázisok létrehozása
CREATE DATABASE database_name
[ON
{ [PRIMARY] (NAME = logical_file_name,
FILENAME = 'os_file_name'
[, SIZE = size]
[, MAXSIZE = {max_sizeUNLIMITED}]
[, FILEGROWTH = growth_increment] )
} [,...n]
]
[LOG ON
{ (NAME = logical_file_name,
FILENAME = 'os_file_name'
[, SIZE = size]
[, MAXSIZE = {max_sizeUNLIMITED}]
[, FILEGROWTH = growth_increment] )
} [,...n]
]
[COLLATE collation_name]
CREATE DATABASE Sample
ON
PRIMARY ( NAME=SampleData,
FILENAME='c:\Program Files\
Microsoft SQL Server\MSSQL\Data\Sample.mdf',
SIZE=10MB,
MAXSIZE=15MB,
FILEGROWTH=20%)
LOG ON
( NAME=SampleLog,
FILENAME='c:\Program Files\
Microsoft SQL Server\MSSQL\Data\Sample.ldf',
SIZE=3MB,
MAXSIZE=5MB,
FILEGROWTH=1MB)
COLLATE SQL_Latin1_General_Cp1_CI_AS
Fájlcsoportokról
 egyes fájlokat és lekérdezéseket gyorsabban
el tudunk érni, ha a fájl és/vagy adatbázis
mérete lecsökken
 rendszeradminisztrátorok könnyebben
tudnak biztonsági másolatokat készíteni
Adatbázis változtatása
ALTER DATABASE Sample
MODIFY FILE ( NAME = 'SampleLog',
SIZE = 15MB)
GO
ALTER DATABASE Sample
ADD FILE
(NAME = 'SampleData2' ,
FILENAME='c:\Program Files\
Microsoft SQL Server\MSSQL\Data\Sample2.ndf',
SIZE=15MB ,
MAXSIZE=20MB)
Adatbázis és fájlok tömörítése
 Teljes adatbázis lecsökkentése használhatjuk az
SQL Server Enterprise Manager-t vagy a
Database Consistency Checker (DBCC)
SHRINKDATABASE utasítását.
DBCC SHRINKDATABASE (database_name
[, target_percent] [, {NOTRUNCATE
| TRUNCATEONLY}])
DBCC SHRINKDATABASE (SampleData,
25)
Típusok
Jellemző
adattípusok
SQL Server által
biztosított típusok
ANSI megfelelő
Foglalt byte-ok
száma
Integer
int
bigint
smallint, tinyint
integer


4
8
2, 1
egész szám
decimal[(p[, s])]
numeric[(p[, s])]
dec

2–17
valós szám
float[(n)]
double precision,
8
float[(n)] for n=8-15
float[(n)] for n=1-7 4
real
pénzügyi
dátum és idő
money,
smallmoney
Datetime,
smalldatetime

8, 4

8
4
Típusok
karakter
char[(n)]
varchar[(n)]
text
character[(n)]
char
VARYING[(n)]
character
VARYING[(n)]

0–8000
0–2 GB
Unicode
karakterek
nchar[(n)]
nvarchar[(n)]
ntext

0–8000
(4000 karakter)
0–2 GB
bináris
binary[(n)]
varbinary[(n)]
0–8000
kép
gobális
azonosítók
image
uniqueidentifier

binary
VARYING[(n)]


speciális
bit, cursor,
uniqueidentifier
timestamp
sysname
table
sql_variant

1, 0–8
rowversion



8
256
0–8016
0–2 GB
16
Táblák létrehozása

CREATE TABLE table_name
column_name data type [COLLATE<collation_name>]
[NULL | NOT NULL]
| column_name AS computed_column_expression
[,….n]

CREATE TABLE dbo.CategoriesNew
(CategoryID
int IDENTITY (1, 1) NOT NULL,
CategoryName
nvarchar(15) NOT NULL,
Description
ntext
Picture
NULL)
image
NULL,
Tábla módosítása
Adatok kezelése
 INSERT INTO table_name VALUES [<values>]
 INSERT INTO Categories VALUES
(„Smith”,”$500”,”ID520444”,”none”)
 DELETE FROM <table_name> WHERE <condition>
 DELETE FROM Categories WHERE ’Customer_name’ =
’Smith’
 UPDATE <table_name> SET column_name=’values’ [,
column_name =’values’,…]
 Generált érték:
az Identity tulajdonságot, a NEWID függvényt, vagy az
uniqueidentifier adattípust használhatjuk
CREATE TABLE table (column_name data_type
[ IDENTITY [(seed, increment)]] NOT NULL )
SQL Server Management Studio Express