<»zdy serwer bu danych umoilłwi^wtyfikatif uzylkowmka. z reguły przez poda; przez mego identyfikatora j hasła (uwiecrytelrme)
Nattfpmr semrer określa takres eracy dozwolonych danemu użytkownik* (autocyuc|i) Ponieważ modele bezpieczeństwa izcilgólnyrh serwerów znacznie sią miądry sobróżmą, przedstawione zostaną tylko na|wiif|iz* informac|* dotycząc* tworzenia kont uzytbowków
Dodawanie kmt użytkowników
Oo utworzenia konta nowr|«zytkownika służy
imtrukc|a CREATE hm
CRfATt USER naztt użytkownika
MS SQL Stvjt
Prcxedura p_yantlog1n
Wykonam* proriury powoduj dodani* logimi
dla użytkownik lub grupy użytkowników systemu
operacyjnego
Składnia.
sp_grantog1n [Plogtname -]
Monn'
Procedjra sp addlogin
Wykonał* procedury ipowodup utwon*m* logmu utytko^ika trrwrra baz danych
Skipią
Si addlogin [Bloglname =] 'login' t. [Bpasswd •] 'hasło'] Procedura sp grantdbaccass
Wykonam* procedury ipowodu|* dodani* do bi*jąr*| bazy danych konta użytkownika repre/entowanego pracz okrtilony login Składnia:
sp grantdbaccess [Ploglnomr -] 'login' [.[(Aname in db =] 'konto_ułytkown1ka'
Składnia:
Uprawnienia do wykonania Instrukcji:
GRANT (ALI | Instrukcja [,...n]|
TO użytkownik [...,n]
Uprawnienia obiektowe;
GRANT
(ALL [PRI1MLEGES] j uprawnienie [•.. .n])
[(kolumna [,...n])] ON tabela | widok)
ON (tabela | widok) (kolumna [,...n])]
ON (procedura)
ON (funkcja)
I
TO użytkownlk [,.. .n]
[WlTH GRANT OPIlONl [AS (grupa | rola)] gdzie
ALL oznacza wszystkie możliwe uprawnienia danego typu. WI TH GRANT OPTION moi* być utyta wyłącznie w przypadku nadawania uprawmeó obiektowych i pnekaziije użytkownikowi prawo do nadania otrzymanego upzawnienia innym użytkownikom Przykład.
GRANT SELECT, INSERT 1 ON Categorłes TO Jacek y
Odbieranie uprawnień
Usuwanie kont użytkowników
Do uiunigna konta utytkownika iluży instrukcja DROP USER.
OROP USER nazwaużytkownlka v MS SQL Serwer
Procedura ip rewokelogin
Wykonam* procedury utuwa login powijany ł urytkowmkirm lub grupą użytkowników tyittmu op*tary|nrgo Pomtwal konto utytkownika mott yednoczcinic nilem do witlu grup. usumącie loginu mt |«i( |(dnoznacin* z odmowy dostąpu Składnia:
sp revokelog1n [Ploglname «] 'login'
Procedura spdenylogln
Wykonam* procedury ipowodu|* odmówieni* użytkownikowi lub grupie użytkowników lyttemu opetacyinego dostąpu do serwera Składnia:
sp denylogln [Ploginam*' -]
'login'
Procedura sp_revokedbaccesi
Wykonanie procedury ipowodu|* usumącie konta urytkowmka z bici^cc) bazy danych Składnia:
sp reyokedbaccess [Sname In db *] Tkonto użytkownlka'
Nadawanie uprawnień
Wyróżnia ii( trzy typy uprawmeó:
1. Uprawnienia do wykonania mitrukc|i (gryka SQl na ich podstawi* użytkownicy mogą tworzyć nowt obiekty (np. wykonywać instrukcją CREAtC TAHI E).
2. Uprawnienia obiektowe - na ich podstawi* użytkownicy mogą odwoływać uą i wykonywać okrtilont optracp związane z wybranymi obiektami baty danych
). Uprawnienia predefiniowane - użytkownicy naletący do predefiniowanych grup terwera lub baty danych oraz wtaiciciele obiektów na podstawi* predefiniowanych (niejawnych) uprawmeó mogą wykonywać okrtilone operacje.
Instrukcja GRANT
Nadać uprawnienia rolom lub urylkowmkom możemy
za pomocą instrukcji jgtyka GRANT.
Instrukcja DEMY (MS SQL Serv**r)
Wykonanie instrukcji ipowodu|* |awne odebranie okreilonych uprawnień użytkownikowi Składnia:
Uprawnienia do wykonania Instrukcji:
OENY (ALL | Instrukcja [,...n])
TO użytkownik [....n]
Uprawnienia obiektowe:
OENY
ALL [PRIV1LEGES] uprawnienie [....n])
■(kolumna [,...n])] ON tabela | widok)
ON (tabela | widok) (kolumna [,...n])J ON (procedura)
)
TO użytkownik [,...n]
[CASCADE]
gdtw:
CASCADE powoduj odebranie uprawmeó urytkowmkowi i wszystkim utytkownikom, którty otrzymali od mego dane uprawnienie i jflt wymaganą klauzulą podczai odbierania uprawnień nadanych t klauzulą WI TH GRANT OPT ION Przykład:
OENY ALL ON Cateqories TO Agatka
Imtrukcja REVOKE
Uiunąć wcztinioj nadane uprawnienia (w przypadku SQl Serwera zarówno nadane instrukcją GRANT, jak i OENY) możemy przez wykonanie instrukc|l RtYOKE. Składnia.
Uprawnienia do wykonania Instrukcji:
REVOKE (ALL | instrukcja [,...n]) EROM użytkownlk[,...n]
Uprawnienia obiektowe:
REYOKE [GRANI OPTION TOR]
(ALL [PRIVILEGES) j uprawnienie [,...n])
[(kolumna [,...n])] ON (tabela | widok) i ON (tabela | widok) [(kolumna [,...n])]
I (procedura)
I
(TO | FROM)
użytkownik [,...nj [CASCADE)
[AS (grupa | rola)]
Pnyklad:
REV0KE SELECT ON Categories EROM Jacek
Wskazówka
Ponieważ brak nadanych uprawnień uniemożliwia wykonanie operacji, użytkownicy, którym odebrano uprawnienia, bądą mogli wykonać daną operacjg tylko w przypadku, gdy należą do roli, której nadano dam uprawnienie
Instrukcja ćBEATĘ DA1APASE
Iwontme nowej bazy danych polega na podaniu jt| nazwy Opc|onalme podczas wykonywania instrukcji CREATE DATABASE możemy ustawić wartość opcp bazodanowych związanych z |*| fizyczną strukturą. Standard ANSI me definiuje sposobów tworzenia, modyfikowania i usuwania baz danych MS SQL S«trvor Składnia:
CREAtE DATABASE nazwa (ON (PRIMARY]
(<pl1k> [,...n]]
[. 'grupa plików> [,..,n]J
]
[LOG ON («p1tk» [,,..n])]
(COLLATE porządek]
[EOR IOAO | FOR AFTACH]
<pllk»
([NAME * nazwa_1ogic/na,]
FILFNAME -"'nazwa fizyczna'
[. SUE ■ wlelkot?]
[, MAXSI?E * (maksymalnawlelkoić | UNLIMITED)]
[. FILEGROWTH * przyrost]) [,...n] <grupa pl i kfiw* : :•
FILEGHOUP nazwa «p1ik» [,,,.n]
Poftgr«SQl_
Składnia
CREATE DATABASE nazwa ( ( WITM ] [ OWNFR [•] wtaScIelel ]
[ LOCATION [-] lokalizacja ]
[ TEMPIATE [-1 szablon ]
[ ENCOOING [=] kodowanie ] ]
MS SQL Serv«r____
Składnia:
ALTER DATABASE nazwa (ADD FILE <plik> [,...n]
[TO FILEGROUP grupa pllkOw]
I ADO LOG FILE <pl 1 k>"[ ,...n]
| REMOYE FILE nazwa pliku [WITH DELEfE]
ADD FILEGROUP nazwagrupy pllkOw REM01/E FILEGROUP nazwa grupypl 1 ków MOOIFY FILE <pllk»
MOOIFY NAME » nowana/wa MOOIFY FILEGROUP nazwa grupy plików (wtałclwołe | NAME -nowa nazwa grupyplIkOw)
| SET <apcja* [,..7n] [WITH «przerwanłe»]
| COLLATE <porządck>
I
PoetgroSQL__
Składnia
ALTER DATABASE nazwa SEI parametr ( TO | • M wartoSC | DEFAULT ) ALTER DATABASE nazwa RESFT parametr ALTER OATAflASE nazwa RTNAME TO nowa nazwa
Instrukcja DROP DATABASE
Instrukcja ALTER DATABASE
Strukturą baty danych możemy zmienić, wykonu|ąc instrukcją ALTER DATABASE,
Wykonanie instruk(|i spowoduj* uiumąci* wybranych baz danych Składnia:
DROP DATABASE nazwa [.___n]
Wskazówka
MS SQl Senrtr umożliwia jednoc/esnc usumgcie wielu baz danych.
TABELE_
TrlśtTIkHTcREATE TAbT^""™^ Instrukcja ALTER TABLE
Wykonanie mstnikc|i lpowoduje dodanie nowej tabeli do bary danych.
Składnia:
CREAIE TABLE
[nazwa_bazy danych. | właScIcleT.] nazwa tabeli (|<defln1cja kolumny*
| nazwajcolumny AS wynik wyrażenia | <zawążente tabeli*) [,...n]
| LlkE tabela wzorcowa [ ( INCLUOING | EXCLU0ING ) DETAULTS ] ) [,...n ]
)
[ INHER1TS (tabela wzorcowa [,...n] ) ]
(ON (grupapl1kflw ] DEFAUIT)]
«definicja kolumny* (nazwa typ)
[[DEEAiil T wyrażenie]
| [IDENIITY ((wartoif początkowa, przyrost) [NOT FOR REPLICATION]]]
]
[<*awężen1e_kolumny»] [,„n]
gdzie:
IDENIITY (HS SQL Sener) oznacza, że wądołu poszczególnych pól kolumny bądą niepowtarzalnymi, geneiowanymi prrrr serwer identyfikatorami. Dla |*dn*| tabeli można zdefiniować tylko |*dną kolumną typu IDENIITY.
U KE (Postgre SQl) okretla tabelą, któreą struktura zostanie powielona w tworzonej tabeli,
INHER1TS (Postgr*sQL) okreila tabelą, której tworzona tabela bądzie kopią,
ON (MS SQL Seryer) pozwala na podanie grupy plików, w któreą zostanie zapisana tabela.
Przykład
CREATE 1A8IE Categories (
CategorylD tnt IDENTITY
(1. 1) NOT NULL ,
CategoryName yarchar (15) NOT NULL , Descrtptlon ntent ,
Picture Image )
Kolumny zawierające dane pochodne (MS SQL Seryer)
|rdnym ze sposobów poprawy wyda|nosa |est zapisywanie w tabelach danych wyliaonyds na podstawie innych mtormacp Ze wzglądu na spópsosć danych dane (ego typu muszą być automatycznie modyfikowane przy kazd*| zmianie danych bazowych Przykład
CREATE TABLE City (
1d_C Int IDENTITY.
City yarchar (30), citizens Int, category AS CASE WHFN citizens < 1000 TI1EN 'A'
WHCN citizens BETWEEN 1000 AND 5000 TMEN '»' WHEN citizens > 50000 TREN 'C'
END )
Za pomocą instrukc|i ALIER IAHI.E możemy dodawać i usuwać
kolumny z definicji tabeli oraz włączać i wyłączać sprawdzanie
uwąztń i uruchamianie wyzwalaczy
Składnia'
ALTER IABLE tabela ([Al IFR COLUMN kolumna
(typ ((precyzja [. skala])]
[NULL | NOT NULL] (
]
| A00 [COLUMN]
([^definicja kolumny*] j kolumna AS wynik wyrażenia
I [....»]
| [WITH CHECK | WITH NOCHECK] AIR) (<zawgż«nie tabell>| [,...n]
| OROP
(fCONSIHAINT] /awężen1e_kolumny | COU/MN kolumna) [7. - .n]
| (CHECK I NOCHECK) CONSTRAINI (ALL | zaważenie [,...n])
| (ENABI.E | OISABLE) TRIGGER (ALL | wyzwalać/ [,, ,.n] I | RENAMC TO nowanazwa
)
gdzie:
|CHECX | NOCHECK) CONSTRAINI (MS SQl Senrer) pa/srala na czasowe wyłączeni* zawążeó typu CHECK i TORF IGN KF Y,
(fNABIĆ | OISABIE) TRIGGER (MSSQlSeryer) pozwał* na czasowe wyłączenie wyzwalaczy,
RENAMI TO (Postgr»SQl) pozwala zmienić nazwą tabeli Przykład.
ALTER TABLE Categories AOO ModTlme smalIdatetime
Zmiana nazwy obiektu
(MS SQL Sarvar)_
Zmienić nazwą tabeli oraz kolumny możemy przez wywołanie proceduzy składowanej sp rename.
Składnia:
sprename [ Pobjname * ] 'nazwa' ,
[Pnewname « ] 'nowa nazwa'
, [ Pobjtype * ] 'Typ obiektu' ]
Instrukcja DROP TABLE
Nieużywane tabele powinny zostać usuniąt*. Usumącie tabeli spowoduj utratą wszyslkidi zapisanych w mej danych.
Składnia:
OROP TABLE nazwa tabeli [,...n]
( CASCADE | RfSTRICT ] gdzie
CASCADE (PostgreSQl) spowoduj automatyczne usunięcie powiązanych obiektów
RESTRICT (PostgriSQl) ipowodu|t zgłoszenie błędu, leżeli istnieją powiązane i tabelą obiekty.
Wskazówka
Usumącie tabeli powoduj* automatyczne usumącie powiązanych z nią indeksów, zawązeó i wyzwalaczy.