SQL język baz danych przegląd

Wielkość: px
Rozpocząć pokaz od strony:

Download "SQL język baz danych przegląd"

Transkrypt

1 SQL - historia SQL język baz danych przegląd SQL - "Structured Query Language" - język czwartej generacji (4GL) wymowa: "es-kju-ell" lub "sequel [si:kwl]" SQL język baz danych, strukturalny język zapytań, język kwerend. Język do definiowania, wyszukiwania i administrowania danymi w relacyjnej bazie danej. Tadeusz Pankowski (c) T. Pankowski, SQL - przegląd 1 (c) T. Pankowski, SQL - przegląd 2 SQL - historia , E.F.Codd, "A relational model of data for large shared data banks", Communications of the ACM, Vol.13, No.6, 1970, podstawy relacyjnego modelu danych , SEQUEL "Structured English Query Language", D. Chamberlin i in., IBM San Jose Research Laboratory, implementacja: SEQUEL- XRM ( ) , SEQUEL/2, implementacja i rozwój w ramach projektu System R, IBM San Jose RL , główne implementacje: ORACLE, DB2 (SQL/DS), , SQL/86 - oficjalny standard ANSI (American National Stanmdards Institute) oraz ISO (International Organization for Standardization) , SQL2 (lub SQL/92) - "International Standard ISO/IEC 9075:1992, Database Language SQL" 7. dalszy rozwój: SQL3 (SQL:1999), włącza idee podejścia obiektowego, dane wielowymiarowe, heterogeniczne, XML,... Standaryzacja - zalety redukcja kosztów szkolenia przenośność aplikacji wydłużenie żywotności aplikacji komunikacja międzysystemowa, interoperacyjność wygoda dla użytkownika, co robi system, a nie w jaki sposób wspólny interfejs do bazy danych (c) T. Pankowski, SQL - przegląd 3 (c) T. Pankowski, SQL - przegląd 4

2 Standaryzacja - wady Oprogramowanie klienta Warstwa oprogramowania klienta ograniczenie kreatywności SQL jest dość daleki od idealnego języka relacyjnego braki samego SQL wiele problemów pozostawiono jako zależnych od implementacji "implementation dependent", co utrudnia przenośność złudzenie istnienia standardu (?) ADO (ActiveX Data Objects) ODBC (Open Database Connectivity) Oprogramowanie standardowe zapewniające wymianę danych między serwerem i klientem: Architektura aplikacji baz danych Warstwa oprogramowania serwera MS SQL Server ORACLE Access (c) T. Pankowski, SQL - przegląd 5 SQL przeznaczenie SQL = SQL2 = SQL/92 Uwaga: Używać będziemy notacji stosowanej w dialekcie języka SQL systemu MS SQL Server, a więc języka Transact-SQL. 1. Główne funkcje zarządzania danymi: definiowanie manipulowanie, administrowanie 2. Przeznaczony dla: interakcyjnych użytkowników końcowych, twórców programów użytkowych (aplikacji), administratorów baz danych, twórców oprogramowania specjalizowanego (narzędziowego, systemów współpracujących z bazami danych,...) SQL postać poleceń Zapytania w języku SQL mogą przybierać różną postać. Postać ta może zależeć od: 1. Miejsca wydawania polecenia: bezpośrednio w trybie interakcyjnym z terminala, w oprogramowaniu serwera, w oprogramowaniu kienta. 2. Kompletności posiadanej informacji w momencie formułowania polecenia: posiadamy pełną informację (w zapytaniu nie ma potrzeby używania zmiennych), używamy zmiennych do przekazywania i pobierania do/z zapytania pewnych parametrów, ale postać zapytania jest ustalona, używamy zmiennych do dynamicznego tworzenia postaci zapytania, a więc zmienne mogą być zarówno parametry zapytania, jak również jego struktura. 7 8

3 Pełne określenie zapytania Pracownik(IDPrac, Nazwisko, Placa, Stanowisko) Dochod(IDPrac, Rok, Kwota) Wtrybie interakcyjnym, bezpośrednio z terminala select Nazwisko, Placa from Pracownik where Placa >= 2000 Wynikiem jest tabela o dwóch kolumnach: Nazwisko i Placa. Do tabeli wynikowej należą wiersze, w których atrybut Placa ma wartość większą lub równą Z wykorzystaniem zmiennnych wierszowych (aliasów): select P.Nazwisko, D.Rok, D.Kwota from Pracownik P, Dochod D where P.IDPrac = D.IDPrac AND Rok > 1980 Zapytania sparametryzowane Pracownik(IDPrac, Nazwisko, Placa, Stanowisko) Dochod(IDPrac, Rok, Kwota) Wykorzystanie zmiennych wyjściowych w T-SQL (Transact-SQL): money = Placa from Pracownik where IDPrac = '00123' W pierwszym wierszu deklarowana jest (nazwa każdej zmiennej w języku Transact-SQL rozpoczyna się od typu money. W drugim wierszu pod podstawiana jest wartość kolumny Placa z ostatniego wiersza stanowiącego zbiór odpowiedzi na zapytanie Zapytania sparametryzowane (c.d.) Pracownik(IDPrac, Nazwisko, Placa, Stanowisko) Dochod(IDPrac, Rok, Kwota) Wykorzystanie zmiennych wejściowych i wyjściowych (T_SQL): varchar(30) money = Placa from Pracownik where IDPrac Wartość określana jest przed wykonaniem zapytania. Zauważmy, że dzięki system rozróżnia czy chodzi o nazwę czy o nazwę kolumny IDPrac. W obydwu powyższych przypadkach struktura zapytania jest znana. 11 Zapytania dynamiczne (T-SQL) varchar(100) varchar(100) varchar(100) = 'Pracownik' Placa' ' + execute from '+@zm_tabela trzy pierwsze linie zawierają deklaracje zmiennych w trzech kolejnych liniach następuje określenie wartości zmiennych, tworzymy: select Nazwisko, Placa from Pracownik w ostatniej linii następuje wykonanie zapytania, procedury pamiętanej sp_sqlexec, ktrórej przekazuje tekst polecenia (zapytania, procedury) 12

4 Zapytania dynamiczne (T-SQL) Zapytania dynamiczne (VB - ADO) W przypadku zapytań dynamicznych postać zapytania nie jest znana na etapie kompilacji, w szczególności więc system nie jest w stanie ani sprawdzić poprawności składniowej zapytania, ani tym bardziej opracować optymalnej strategii jego wykonania. Czynności te realizowane są dopiero na etapie wykonania, co istotnie zmniejsza efektywność przetwarzania Zapytania dynamiczne (VB - ADO) Definiowanie tabel - przykład Podprogram tworzenia tabeli w bieżącej bazie danych nazwa tabeli podawana jest w polu tekstowym NazwaTabeli i jest wykorzystana do dynamicznego utworzenia polecenia SQL-owego CREATE TABLE Private Sub TworzTabele_Click() Dim c As ADODB.Command On Error Resume Next Set c = New ADODB.Command Set c.activeconnection = db c.commandtext = "Create Table " & NazwaTabeli.Text & " (KolA Char (2),KolB Int)" c.commandtype = adcmdtext db.errors.clear c.execute If db.errors.count > 0 Then WriteError Else StatusBar1.SimpleText = "Tabela utworzona." End If End Sub 15

5 Definiowanie tabel - przykład Definiowanie tabel przykład (c.d.) create table Dostawca ( NrDcy char(3) primary key, Nazwa char(20), Adres char(20)) create table Magazyn ( NrMag INT primary key, Adres char(20)) create table Towar ( NrTow char(5) not null primary key, Nazwa char(20), GrupaTow char(3) not null, CenaZak money, CenaSprz money) 17 create table Dostawa ( IdDost int identity(1,1), NrDcy char(3), NrMag int, NrTow char(5), Data datetime, Ilosc decimal(5), constraint Kg_Dostawa primary key (IdDost), constraint Ko_Dostawa_Dostawca foreign key (NrDcy) references Dostawca, constraint Ko_Dostawa_Towar foreign key (NrTow) references Towar, constraint Ko_Dostawa_Magazyn foreign key (NrMag) references Magazyn) create table TowMag ( NrMag int, NrTow char(5), Stan decimal(5), primary key (NrMag, NrTow), foreign key (NrMag) references Magazyn, foreign key (NrTow) references Towar) 18 Definiowanie tabel przykład (c.d.) Operowanie danymi 1. W powyższych definicjach: klucz główny składa się z kilku kolumn dlatego jego definicja podana jest po definicji wszystkich kolumn, np: primary key (NrMag, NrTow); warunkom spójności bazy danych można nadać nazwy, umieszczamy je wtedy we frazie constraint, definiujemy zależności referencyjne przez określenie klucza obcego foreign key oraz tabeli, od której klucza głównego ten klucz obcy zależy, np: foreign key (NrMag) references Magazyn oznacza, że każda wartość wprowadzana do kolumny TowMag.NrMag musi występować jako wartość klucza głównego w tabeli Magazyn. 2. Za pomocą create table tworzone są tablice bazowe (ekstensjonalne), mające fizyczną reprezentację w bazie danych oraz określamy niektóre warunki spójności bazy dnaych. 3. Tablice wirtualne (intencjonalne), tzw. widoki lub perspektywy (ang. view) tworzone są za pomocą CREATE VIEW 19 Cztery podstawowe operacje: select insert update delete - wyszukiwanie, - dołączanie, - aktualizacja, - usuwanie. Przykłady operacji modyfikujących: insert into Dostawa values('10','100',1,' ',3) update Towar set CenaSprz = 1.1 * CenaSprz where GrupaTow = 'AGD' delete from Towar wherecenasprz < CenaZak (c) T. Pankowski, SQL - przegląd 20

6 SELECT * Problemy z SELECT *: 1. Wybiera wszystkie kolumny, ale w jakiej kolejności? Kolejność kolumn w modelu relacyjnym nie jest określona. Musimy się więc odwoływać do poziomu fizycznego określającego sposób pamiętania tabeli. 2. Jeśli za pomocą SELECT * został zdefiniowany widok, to co się stanie jeśli do bazowej tabeli dodam nową kolumnę? Ma być ona włączana do widoku czy nie? Co zadecydowało o sukcesie systemów relacyjnych baz danych? I think there are three elements of the System R prototype and its deployment in test environments that had an effect on the eventual adoption of relational data storage systems. (c) T. Pankowski, SQL - przegląd 21 (c) T. Pankowski, SQL - przegląd The first one is the obvious one that everybody suggests: the invention of a nonprocedural query specification was a tremendous simplification that made it much easier to specify applications. No longer did you have to say which index to use and which join method to use to get the job done. This was a tremendous boon to application development. 2. But the real reasons that the relational system won have nothing to do with the relational model; they have to do with the fact that the early prototypes, both System R and Ingres, supported ad hoc queries and online data definition. You could try out a query right away, rather than typing it into your application, compiling the application, running it, and having a failure, usually a syntax error. Even if there were no syntax errors, you still had the advantage that you could look at the query answers and see if you had the right tuples. Ad hoc online query execution was something that was unheard of in the database community at that time, so this was a tremendous boon to application developers and to people who were browsing the data. (c) T. Pankowski, SQL - przegląd 23 (c) T. Pankowski, SQL - przegląd 24

7 Operowanie danymi 3. Maintaining the coherence between the metadata that the system uses at run time to figure out where things are and which way's up and which way's down and the actual use of the system. So a difficult and rather successful effort in the System R project was to figure out ways to synchronize the modification of metadata without impacting or interrupting the ongoing work involving other data objects. Operacja wyszukiwania: select distinct W.NrTow, W.NrMag from Dostawa W where NrDcy = '10' AND Ilosc > 2 distinct - usuwanie duplikatów select W.NrDcy, D.Nazwa, T.Nazwa, T.CenaSprz from Dostawa W, Dostawca D, Towar T where W.NrDcy = D.NrDcy AND W.NrTow = T.NrTow (c) T. Pankowski, SQL - przegląd 25 (c) T. Pankowski, SQL - przegląd 26 Funkcje agregujące count, sum, avg, max, min, count(*) 1. Liczba wszystkich dostawców: select count(*) as Ld from Dostawca 2. Liczba dostawców realizujących dostawy select count(distinct W.NrDcy) as Ldd from Dostawa W Ldd bez distinct: select count(w.nrdcy) AS Ldd from Dostawa W Ld 4 3 Ldd Funkcje agregujące (c.d.) 3. Sumaryczny wartość towaru 100 w cenach zakupu: select sum(t.cenazak * TM.Stan) as W100 from Towar T, TowMag TM where T.NrTow = TM.NrTow AND T.NrTow = '100' W (c) T. Pankowski, SQL - przegląd 28

8 Funkcje agregujące (c.d.) 4. Wartości towarów w poszczególnych grupach towarowych: select from where group by having select * from Towar T, TowMag TM where T.NrTow = TM.NrTow T.GrupaTow, sum(t.cenazak * TM.Stan) as Wartość Towar T, TowMag TM GrupaTow Wartość T.NrTow = TM.NrTow T.GrupaTow KOM GrupaTow <> 'AGD' RTV (c) T. Pankowski, SQL - przegląd 29 Operacje z wykorzystaniem kursora Kursor (ang. cursor) dostarcza mechanizmu dostępu do pojedynczych wierszy wg zasady "jeden po drugim". char(20) Money declare kuragd cursor for select Nazwa, CenaSprz from Towar where GrupaTow = 'AGD' open kuragd fetch next from = 0 fetch next from end close kuragd deallocate kuragd 30 Operacje z wykorzystaniem kursora Operacje pozycyjne: UPDATE i DELETE Aby przetwarzać dane za pomocą kursora należy: zadeklarować kursor DECLARE... CURSOR i zdefiniować jego zakres FOR SELECT, otworzyć kursor, OPEN - wykonywana jest operacja SELECT, kursor wskazuje na miejsce bezpośrednio przed pierwszym wierszem w utworzonym zbiorze wierszy (zakresie kursora), wykonać operację pobrania danych na kolejnym wierszu FETCH NEXT FROM, pobierane dane można zapamiętać pod podanymi zmiennymi, pobieranie danych może być realizowane w pętli, różna od zera wartość zmiennej (funkcji) może kończyć wykonywanie operacji pobierania danych, zmienne mogą być wykorzystywane w dowolnych operacjach, oznacza wypisanie danych, w końcu kursor należy zamknąć CLOSE i dealokować DEALLOCATE. char(20) money declare kuragd cursor for select Nazwa, CenaSprz from Towar where GrupaTow = 'AGD' open kuragd fetch next from = 0 update Towar set CenaSprz = CenaSprz + 1 where current of kuragd fetch next from end close kuragd deallocate kuragd (c) T. Pankowski, SQL - przegląd 31 (c) T. Pankowski, SQL - przegląd 32

9 Widoki (views( views) Widoki są tabelami wirtualnymi (intencjonalnymi), nie mającymi bezpośredniej reprezentacji w bazie danych. Zapamiętana jest jedynie ich definicja. Definicja widoku wykorzystywana jest w momencie odwoływania się do niego jak do każdej innej tabeli. Widoki (views( views) "Towary RTV w cenach sprzedaży " create view RTV (NrTow, Nazwa, CenaSprz) as select T.NrTow, T.Nazwa, T.CenaSprz from Towar T where T.GrupaTow = 'RTV Definicja widoku wykorzystywana jest w momencie odwoływania się do niego: select RTV.NrTow, RTV.Nazwa, RTV.CenaSprz from RTV where RTV.CenaSprz < 2000 Przekształcone jest do zapytania względem tabeli TOWAR: select RTV.NrTow, RTV.Nazwa, RTV.CenaSprz from (select T.NrTow, T.Nazwa, T.CenaSprz from Towar T where T.GrupaTow = 'RTV' ) RTV where RTV.CenaSprz < 2000 lub równoważnie: select T.NrTow, T.Nazwa, T.CenaSprz from Towar T where T.GrupaTow = 'RTV' and T.CenaSprz < 2000 (c) T. Pankowski, SQL - przegląd 33 (c) T. Pankowski, SQL - przegląd 34 Modyfikowalność widoków Modyfikowalność widoków w (c.d.) 1. Jeśli widok jest tak zdefiniowany, że można przetransformować operacje jego modyfikowania na modyfikację tabel bazowych, to można go aktualizować. 2. Sytuacja taka występuje na przykład wtedy, gdy w definicji kursora zawarto klucz główny tabel bazowych, nad którymi jest definiowany i nie zawiera funkcji agregujących ani słowa DISTINCT. W przypadku widoku RTV, jego definicja create view RTV (NrTow, Nazwa, CenaSprz) as select T.NrTow, T.Nazwa, T.CenaSprz from Towar T where T.GrupaTow = 'RTV' zawiera klucz główny tabeli Towar. Można go więc modyfikować. Wówczas polecenie: update RTV set CenaSprz = CenaSprz + 10 zostanie wykonane i spowoduje odpowiednią modyfikację tabeli Towar. (c) T. Pankowski, SQL - przegląd 35 (c) T. Pankowski, SQL - przegląd 36

10 Modyfikowalność widoków w (c.d.) Bardzo często widoki są niemodyfikowalne. Przykłady niemodyfikowalnych widoków: 1. Widok zawierający łączną ilość poszczególnych towarów we wszystkich dostawach: create view TD(NrTow, IlDost) as select W.NrTow, SUM(W.Ilosc) from Dostawa W group by W.NrTow Widok jest niemodyfikowalny, gdyż zawiera funkcję agregującą. Modyfikowalność widoków w (c.d.) 2. Widok Miasta definiuje pary (DAdres, MAdres), gdzie DAdres jest adresem dostawcy, a MAdres jest adresem magazynu, do którego dostawca dostarcza towary: create view Miasta (DAdres, MAdres) as select distinct D.Adres, M.Adres from Dostawca D, Magazyn M, Dostawa W where D.NrDcy = W.NrDcy and M.NrMag = W.NrMag Widok ten jest niemodyfikowalny, gdyż zawiera słowo distinct. (c) T. Pankowski, SQL - przegląd 37 (c) T. Pankowski, SQL - przegląd 38 Modyfikowalność widoków w (c.d.) Rozważmy widok jak poprzednio, ale bez słowa distinct: create view Miasta1 (DAdres, MAdres) as select D.Adres, M.Adres from Dostawca D, Magazyn M, Dostawa W where D.NrDcy = W.NrDcy and M.NrMag = W.NrMag Miasta1 Modyfikowalność widoków w (c.d.) update Miasta1 set DAdres = 'Kraków' where DAdres = 'Poznań' Dostawca 39 Widok Miasta1 jest modyfikowalny, gdyż zawarte w jego definicji warunki na kluczach głównych pozwalają dokonać odpowiednich modyfikacji na wyjściowych tabelach

11 Bezpieczeństwo baz danych 1. Mechanizmy zapewnienia bezpieczeństwa: uwierzytelnianie i autoryzacja: (nazwa logowania, hasło) użytkownik bazy danych uprawnienia operacje GRANT/REVOKE/DENY przyznawanie, odbieranie, odmawiane uprawnień, wykorzystanie widoków (selektywne udostępnianie danych), warunki spójności bazy danych archiwowanie i odtwarzanie (c) T. Pankowski, SQL - przegląd 41 Bezpieczeństwo baz danych (c.d.) Przykład pokazuje, w jaki sposób tworzy się nowego użytkownika i nową rolę w systemie SQL Server oraz w jaki sposób dodaje się użytkownika do istniejącej roli. 1. Tworzenie nowego konta logowania do systemu MS SQL Server umożliwiającego użytkownikowi przyłączenie się do serwera: EXEC sp_addlogin 'Piotr', 'piotr', sklep' 'Piotr' jest nazwą użytkownika, 'piotr' jest hasłem, a sklep' bazą danych. 2. Tworzenie nowego użytkownika (w tym przypadku nazwa użytkownika jest identyczna z nazwą konta logowania): EXEC sp_adduser 'Piotr', 'Piotr' 3. Tworzenie nowej roli: EXEC sp_addrole 'Klient' 4. Dodanie użytkownika do roli: EXEC sp_addrolemember 'Klient', 'Piotr' 5. Zdefiniowanie uprawnień: grant SELECT on Pracownik to Klient deny SELECT on Pracownik to Piotr 6. Odczytanie informacji o kontach logowania, użytkownikach i rolach (dostępne po ponownym uruchomieniu SQL Servera): sp_helplogins sp_helpuser sp_helprole (c) T. Pankowski, SQL - przegląd 42 Spójno jność bazy danych 1. Spójność, niesprzeczność, integralność (ang. consistency, integrity constraints). 2. Spójność oznacza poprawność, niesprzeczność danych w bazie danych. Standard SQL zawiera środki do definiowania warunków spójności (lub więzów integralności), np. w obrębie zdania CREATE TABLE. 3. Każda próba naruszenia zdefiniowanych warunków spójności (podczas modyfikacji bazy danych) zostaje udaremniona, operacja ją podejmująca jest odrzucana, a baza danych pozostaje nie zmieniona. 4. W systemie pamiętana jest więc baza danych (dane podstawowe) oraz wiedza o bazie danych (dane opisujące struktury i warunki spójności). Rodzaje warunków w spójno jności 1. Typ kolumny typ może być standardowy lub pochodny zdefiniowany przez użytkownika. 2. UNIQUE dla określenia, że kolumna lub zestaw kolumn ma mieć unikalną wartość w tabeli (jest kluczem potencjalnym - alternatywnym, kandydującym w tabeli), taki klucz może przyjmować wartości NULL. 3. PRIMARY KEY specjalny przypadek UNIQUE dla zdefiniowania klucza głównego nie może przyjmować wartości NULL. 4. FOREIGN KEY - dla zdefiniowania zależności referencyjnych (zależności odniesień). Wartość klucza obcego musi występować jako wartość klucza w powoływanej tabeli. 5. CHECK - dla określenia, że kolumna lub zestaw kolumn (z jednej krotki) mają mieć wartości spełniające określony warunek. Taka spójność może być zdefiniowane jako reguła w wyrażeniu CREATE RULE. 6. Bardziej złożone warunki spójności można definiować za pomocą procedur wyzwalanych w wyrażeniach CREATE TRIGGER. Procedury te są automatycznie wyzwalane przy aktualizacji tabeli. (c) T. Pankowski, SQL - przegląd 43 (c) T. Pankowski, SQL - przegląd 44

12 Programowanie SQL Servera Systemowe procedury pamiętane Dla wykonywania obliczeń, których nie można wyrazić za pomocą pojedynczego wyrażenia w języku Transact-SQL (T-SQL), stosuje się: systemowe procedury pamiętane (system stored procedures), paczki (wsady) (batches) i skrypty (scripts), funkcje (functions), procedury pamiętane (składowane) (stored procedures), procedury wyzwalane (trigery) (triggers), kursory (cursors). Nazwy wszystkich systemowych procedur pamiętanych rozpoczynają się od sp_ lub xp_. Systemowe procedury pamiętana są prekompilowanymi zbiorami wyrażeń SQL-owych ( sp_ ) lub języka programowanie ( xp_ ). Procedury typu xp_ (extended stored procedures) są to funkcje zdefiniowane w bibliotekach dołączanych dynamicznie (bibliotekach DLL) i służą do rozszerzenia funkcji SQL Servera. Aby zainstalować taką procedurę należy najpierw skopiować plik DLL do katalogu zawierającego SQL Server najczęścij jest to C:\Mssql\Binn, a następnie wykonać systemową procedurę pamiętaną sp_addextendedproc. (c) T. Pankowski, SQL - przegląd 45 (c) T. Pankowski, SQL - przegląd 46 Systemowe procedury pamiętane - przykłady Systemowe procedury pamiętane - przykłady Tworzenie typu PESEL opartego na standardowym typie danych varchar. Typ nie może przyjmować wartości NULL, varchar(11) jest ujęte w apostrofy, gdyż zawiera nawiasy: USE master EXEC sp_addtype PESEL, 'VARCHAR(11)', 'NOT NULL Odczytanie tekstu procedury wyzwalanej employee_insupd zawartej w bazie danych pubs: USE pubs EXEC sp_helptext 'employee_insupd' Wykonanie prostego wyrażenia SELECT zawierającego wbudowany execute sp_executesql N'select * from pubs.dbo.employee where job_lvl N'@level = 35 (c) T. Pankowski, SQL - przegląd 47 Dodanie rozszerzonej procedury pamiętanej: USE master EXEC sp_addextendedproc xp_hello, 'xp_hello.dll' Wykonuje podaną komendę systemu operacyjnego i zwraca wyjście jako zbiór wierszy tekstowych: xp_cmdshell 'dir *.exe' Tworzenie wyrażenia INSERT: varchar (255) EXEC OUTPUT, 'INSERT INTO %s VALUES (%s, %s)', 'table1', '1', '2' Wynik: INSERT INTO table1 VALUES (1, 2) 48

13 Paczki (batches( batches) Paczki i skrypty Paczka stanowi grupę złożoną z jednej lub z wielu wyrażeń Transact-SQLa. Standardowym końcem paczki jest polecenie GO lub koniec pliku. Paczkę może też stanowić grupa podświetlonych wyrażeń (przy korzystaniu z Query Analysera). SQL Server kompiluje paczkę w pojedynczą jednostkę wykonywalną zwaną planem wykonania (execution plan). Wyrażenia tworzące plan wykonania wykonywane są jednorazowo w jednym czasie. W przypadku wystąpienia błędu kompilacji, żadne z wyrażeń w paczce nie zostanie wykonane. Zmienna zdefiniowana w paczce nie jest dostępna poza nią zmienne są lokalne w paczce. Nie wszystkie wyrażenia mogą występować w jednej paczce (np. definiowanie i wywoływanie procedury). Przykład skryptu złożonego z dwóch paczek: USE sklep GO -- wykonanie paczki, wybór bazy danych sklep VARCHAR(50) = 'Witaj w sklepie!' GO -- wykonanie paczki, -- po GO nie jest już dostępna. (c) T. Pankowski, SQL - przegląd 49 (c) T. Pankowski, SQL - przegląd 50 Funkcje Funkcje skalarne Funkcja zwraca największy numer pracownika z podanego działu: Rodzaje funkcji: funkcje skalarne (scalar user-defined functions) zwracaną wartością jest pojedyncza liczba lub tekst, tj. wartość dowolnego typu z wyjątkiem typów: text, ntext i image; proste funkcje tablicowe (inline table-valued functions) zwracają wartość typu TABLE, przy czym zwracana tabela jest określona za pomocą pojedynczego wyrażenia SELECT (funkcje te nazywane są sparametryzowanymi widokami); złożone funkcje tablicowe (multi-statement table-valued functions) zwracają zmienną typu TABLE, przy czym zwracana tabela jest dowolną tabelą utworzoną w ciele funkcji. CREATE FUNCTION ostatni_prac_dzialu (@id int) RETURNS int BEGIN int = (select max(idprac) from pracownik where IdDzialu=@id) END Wykorzystanie funkcji: select * from pracownik where IdPrac = dbo.ostatni_prac_dzialu(1) (c) T. Pankowski, SQL - przegląd 51 (c) T. Pankowski, SQL - przegląd 52

14 Proste funkcje tablicowe Złożone one funkcje tablicowe Funkcja zwraca zbiór pracowników z działu o podanym identyfikatorze: create function prac_dzialu(@id int) RETURNS TABLE as RETURN(select * from pracownik where IdDzialu=@id) go Wykorzystanie funkcji (wywołanie funkcji występuje w roli tabeli): select * from dbo.prac_dzialu(2) lub bez dbo select * from prac_dzialu(2) (c) T. Pankowski, SQL - przegląd 53 Funkcja zwraca listę dobrze zarabiających pracowników: create function krezus(@z int) table (id int PRIMARY KEY, nazwisko varchar(22), dochod int) as begin > 5000 select id_prac,nazwisko,zarobki from pracownik1 where zarobki RETURN end Wykorzystanie funkcji: select * from krezus(5500) select * from krezus(1000) - tabela pusta (c) T. Pankowski, SQL - przegląd 54 Procedury pamiętane Procedura oblicza dochód w podanym okresie: CREATE PROC int OUTPUT -- parametr wyjsciowy as = (pensja + premia)*@czas from pracownik where IdPrac go Wywołanie: int = 12 exec dochod 1,@c,@w output select cast(@c as varchar(4))+' miesiecy' as [dochod za okres], cast(@w as varchar(11))+' zl' as wynosi go Wynik: dochod za okres wynosi miesiecy zl Procedury wyzwalane (trigery( trigery) Procedury wyzwalane (triggery): rozszerzają możliwości definiowania warunków spójności, wywoływane są automatycznie w wyniku wykonania operacji: INSERT, UPDATE lub DELETE, może specyfikować operację, która wykona się zamiast operacji głównej wariant INSTEAD OF, wykorzystują systemowe tabele INSERTED i/lub DELETED (INSERTED zawiera dołączane krotki lub nową wersję krotek zmienianych; DELETED zawiera usuwane krotki lub starą wersję krotek zmienianych), mogą być przypisane do tabeli lub widoku, mogą być wywoływane rekurencyjnie. (c) T. Pankowski, SQL - przegląd 56

15 Procedury wyzwalane - przykład Procedury wyzwalane INSTEAD OF Trigger zaznacza w kolumnie del elementy przeznaczone do usunięcia: Zakaz dopisania pracownika, który zarabia więcej niż jego kierownik: create trigger maks on pracownik for insert as if (select zarobki from inserted) > (select k.zarobki from pracownik k, inserted i where k.idprac = i.idkier) begin rollback end (c) T. Pankowski, SQL - przegląd 57 create trigger zaznacz on Pracownik INSTEAD OF delete as update Pracownik set del='*' where nazwisko in (select nazwisko from deleted) go delete from Pracownik where nazwisko like 'K% Wynik: nazwisko premia del Kowalski 200 * Lipski 200 NULL Kowal 200 * Pawlak 200 NULL 58 Kursory Kursory Składnia SQL-92: Kursor (ang. cursor) dostarcza mechanizmu dostępu do pojedynczych wierszy wg zasady "jeden po drugim". DECLARE nazwa_kursora [INSENSITIVE] [SCROLL] CURSOR FOR wyrażenie_select [FOR {READ ONLY UPDATE [OF nazwa_kolumny [,...n]]}] Składnia Transact-SQL: DECLARE nazwa_kursora CURSOR [LOCAL GLOBAL] [FORWARD_ONLY SCROLL] [STATIC KEYSET DYNAMIC FAST_FORWARD] [READ_ONLY SCROLL_LOCKS OPTIMISTIC] [TYPE_WARNING] FOR wyrażenie_select [FOR UPDATE [OF nazwa_kolumny [,...n]]] 59 char(20) Money declare kuragd cursor for select Nazwa, CenaSprz from Towar where GrupaTow = 'AGD' open kuragd fetch next from = 0 fetch next from end close kuragd deallocate kuragd 60

16 Kursory (c.d.) Aby przetwarzać dane za pomocą kursora należy: zadeklarować kursor DECLARE... CURSOR i zdefiniować jego zakres FOR SELECT, otworzyć kursor, OPEN - wykonywana jest operacja SELECT, kursor wskazuje na miejsce bezpośrednio przed pierwszym wierszem w utworzonym zbiorze wierszy (zakresie kursora), wykonać operację pobrania danych na kolejnym wierszu FETCH NEXT FROM, pobierane dane można zapamiętać pod podanymi zmiennymi, pobieranie danych może być realizowane w pętli, różna od zera wartość zmiennej (funkcji) może kończyć wykonywanie operacji pobierania danych, zmienne mogą być wykorzystywane w dowolnych operacjach, oznacza wypisanie danych, w końcu kursor należy zamknąć CLOSE i dealokować DEALLOCATE. Kursory a ADO Recordset Obiekt Recordset representuje zbiór rekordów z tabeli bazowej lub wynik wykonania polecenia. W każdej chwili czasu obiekt Recordset wskazuje jeden rekord w zbiorze zwany rekordem bieżącym. Tworzenie nowego obiektu Recordset: Set Klient = New ADODB.Recordset Set Klient.ActiveConnection = db If Len(StanUSA.Text) = 0 Then Klient.Source = "Select CustomerId, Name, State From Customers" Else Klient.Source = "Select CustomerId,Name,State From Customers Where State = '" _ & StanUSA.Text & "'" End If (c) T. Pankowski, SQL - przegląd 61 (c) T. Pankowski, SQL - przegląd 62 Kursory a ADO Recordset (c) T. Pankowski, SQL - przegląd 63

SQL język baz danych przegląd

SQL język baz danych przegląd SQL - historia SQL język baz danych przegląd SQL - "Structured Query Language" - język czwartej generacji (4GL) wymowa: "es-kju-ell" lub "sequel [si:kwl]" SQL język baz danych, strukturalny język zapytań,

Bardziej szczegółowo

Elementy. języka SQL

Elementy. języka SQL Elementy języka SQL SQL SQL - Structured Query Language język czwartej generacji (4GL), opracowany w latach 70-tych przez IBM strukturalny język zapytań, przeznaczony do definiowania, wyszukiwania i administrowania

Bardziej szczegółowo

W SQL Serwerze 2008 wprowadzono parametry tablicowe (Table Valued Parameters - TVP).

W SQL Serwerze 2008 wprowadzono parametry tablicowe (Table Valued Parameters - TVP). Procedury składowane c.d. Parametry tablicowe w Transact-SQL. W SQL Serwerze 2008 wprowadzono parametry tablicowe (Table Valued Parameters - TVP). Zadanie 1. Proszę napisad procedurę składowaną, która

Bardziej szczegółowo

SIECI KOMPUTEROWE I BAZY DANYCH

SIECI KOMPUTEROWE I BAZY DANYCH KATEDRA MECHANIKI I ROBOTYKI STOSOWANEJ WYDZIAŁ BUDOWY MASZYN I LOTNICTWA, POLITECHNIKA RZESZOWSKA SIECI KOMPUTEROWE I BAZY DANYCH Laboratorium DB2: TEMAT: Relacyjne bazy danych Cz. I - III Cel laboratorium

Bardziej szczegółowo

PL/SQL. Zaawansowane tematy PL/SQL

PL/SQL. Zaawansowane tematy PL/SQL PL/SQL Zaawansowane tematy PL/SQL Cele Przypomnienie kursorów Przypomnienie procedur i funkcji składowanych Poznanie pakietów składowanych 2 Bazę danych Oracle możemy traktować jakby była złożona z dwóch

Bardziej szczegółowo

Systemowe aspekty baz

Systemowe aspekty baz Systemowe aspekty baz danych Deklaracja zmiennej Zmienne mogą być wejściowe i wyjściowe Zmienne w T-SQL można deklarować za pomocą @: declare @nazwisko varchar(20) Zapytanie z użyciem zmiennej: select

Bardziej szczegółowo

Paweł Rajba

Paweł Rajba Paweł Rajba pawel@cs.uni.wroc.pl http://www.itcourses.eu/ Wprowadzenie Używanie kursorów Rodzaje kursorów Praca z kursorami Co to jest kursor? Cykl życia kursora utworzenie pobieranie wartości ewentualnie

Bardziej szczegółowo

Systemowe aspekty baz danych

Systemowe aspekty baz danych Systemowe aspekty baz danych Deklaracja zmiennej Zmienne mogą być wejściowe i wyjściowe Zmienne w T-SQL można deklarować za pomocą @: declare @nazwisko varchar(20) Zapytanie z użyciem zmiennej: select

Bardziej szczegółowo

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Technologia Przykłady praktycznych zastosowań wyzwalaczy będą omawiane na bazie systemu MS SQL Server 2005 Wprowadzenie

Bardziej szczegółowo

Projektowanie Systemów Inf.

Projektowanie Systemów Inf. Projektowanie Systemów Inf. Wykład V Kwerendy Copyrights by Arkadiusz Rzucidło 1 Wprowadzenie Istotą bazy danych jest możliwość efektywnego wyszukiwania informacji Realizację operacji wyszukiwania zapewniają

Bardziej szczegółowo

Chemoinformatyczne bazy danych - Wprowadzenie do technologii baz danych. Andrzej Bąk

Chemoinformatyczne bazy danych - Wprowadzenie do technologii baz danych. Andrzej Bąk Chemoinformatyczne bazy danych - Wprowadzenie do technologii baz danych Andrzej Bąk Wstęp Zarys Co to jest baza danych? Podstawy teorii baz danych Klasyfikacja baz danych Organizacja danych w relacyjnej

Bardziej szczegółowo

Projektowanie bazy danych

Projektowanie bazy danych Projektowanie bazy danych Pierwszą fazą tworzenia projektu bazy danych jest postawienie definicji celu, założeo wstępnych i określenie podstawowych funkcji aplikacji. Każda baza danych jest projektowana

Bardziej szczegółowo

Bazy danych II. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

Bazy danych II. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski Bazy danych II Andrzej Grzybowski Instytut Fizyki, Uniwersytet Śląski Wykład 11 Zastosowanie PHP do programowania aplikacji baz danych Oracle Wsparcie programowania w PHP baz danych Oracle Oprócz możliwego

Bardziej szczegółowo

Administracja i programowanie pod Microsoft SQL Server 2000

Administracja i programowanie pod Microsoft SQL Server 2000 Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 5 Kursory w SQL Serverze Wprowadzenie Modele kursorów Używanie kursorów Rodzaje kursorów Praca

Bardziej szczegółowo

Baza danych. Baza danych jest to zbiór danych powi zanych mi dzy sob pewnymi zale no ciami.

Baza danych. Baza danych jest to zbiór danych powi zanych mi dzy sob pewnymi zale no ciami. Access Baza danych Baza danych jest to zbiór danych powi zanych mi dzy sob pewnymi zale no ciami. Baza danych sk ada si z danych oraz programu komputerowego wyspecjalizowanego do gromadzenia i przetwarzania

Bardziej szczegółowo

Programowanie w SQL. definicja bloku instrukcji BEGIN...END, warunkowe wykonanie instrukcji IF...ELSE, wyrażenie CASE,

Programowanie w SQL. definicja bloku instrukcji BEGIN...END, warunkowe wykonanie instrukcji IF...ELSE, wyrażenie CASE, Programowanie w SQL definicja bloku instrukcji BEGIN...END, warunkowe wykonanie instrukcji IF...ELSE, wyrażenie CASE, kontynuacja działania od instrukcji za podaną etykietą GOTO etykieta, wyjście bezwarunkowe

Bardziej szczegółowo

Sprawdzenie poziomu izolacji transakcji (w aktualnym połączeniu):

Sprawdzenie poziomu izolacji transakcji (w aktualnym połączeniu): Utwórz bazę danych Cw: CREATE DATABASE Cw Sprawdzenie poziomu izolacji transakcji (w aktualnym połączeniu): DBCC USEROPTIONS Przykład z zapisem do tabeli tymczasowej: --Jeśli istnieje tabela tymczasowa

Bardziej szczegółowo

Kursory. A. Pankowska 1

Kursory. A. Pankowska 1 Kursory 1 Kursory Kursor jest mechanizmem pozwalającym obsłużyć zbiór zawierający wiele wierszy danych (generowany np. poleceniem SELECT). Jak wskaźnik przebiega on po kolejnych krotkach ze zbioru danych,

Bardziej szczegółowo

SQL 4 Structured Query Lenguage

SQL 4 Structured Query Lenguage Wykład 5 SQL 4 Structured Query Lenguage Instrukcje sterowania danymi Bazy Danych - A. Dawid 2011 1 CREATE USER Tworzy nowego użytkownika Składnia CREATE USER specyfikacja użytkownika [, specyfikacja użytkownika]...

Bardziej szczegółowo

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl Bazy danych Podstawy języka SQL Dr inż. Paweł Kasprowski pawel@kasprowski.pl Plan wykładu Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność danych Współbieżność

Bardziej szczegółowo

Ćwiczenia 2 IBM DB2 Data Studio

Ćwiczenia 2 IBM DB2 Data Studio Ćwiczenia 2 IBM DB2 Data Studio Temat: Aplikacje w Data Studio 1. Projekty Tworzenie procedur, UDF, trygerów zaczynamy od utworzenia projektu File -> New -> Project wybieramy Data Development Project.

Bardziej szczegółowo

System zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy

System zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy System zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy modelowaniem, a pewien dobrze zdefiniowany sposób jego

Bardziej szczegółowo

Ładowanie i reorganizacja

Ładowanie i reorganizacja Ładowanie i reorganizacja danych Cele Ładowanie danych za pomocą wstawiania ścieżką bezpośrednią Ładowanie danych do tabel Oracle za pomocą ścieżki konwencjonalnej oraz bezpośredniej SQL*Loader Reorganizacja

Bardziej szczegółowo

API transakcyjne BitMarket.pl

API transakcyjne BitMarket.pl API transakcyjne BitMarket.pl Wersja 20140314 1. Sposób łączenia się z API... 2 1.1. Klucze API... 2 1.2. Podpisywanie wiadomości... 2 1.3. Parametr tonce... 2 1.4. Odpowiedzi serwera... 3 1.5. Przykładowy

Bardziej szczegółowo

Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące.

Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące. Programowanie II prowadzący: Adam Dudek Lista nr 8 Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące. Jest to najważniejsza cecha świadcząca o sile programowania

Bardziej szczegółowo

Zad.1 Pokazać pierwszeństwo trybu odmów przed zezwalaj.

Zad.1 Pokazać pierwszeństwo trybu odmów przed zezwalaj. Sprawozdanie 2 Zad.1 Pokazać pierwszeństwo trybu odmów przed zezwalaj. Ilustracja 1: Przy próbie zapisu pliku odmówiono dostępu mimo że administratorzy mają jawnie zezwalaj Zad. 2 Pokazać pierwszeństwo

Bardziej szczegółowo

Programowanie po stronie serwera w SZBD. Robert A. Kłopotek Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW

Programowanie po stronie serwera w SZBD. Robert A. Kłopotek Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW Programowanie po stronie serwera w SZBD Robert A. Kłopotek r.klopotek@uksw.edu.pl Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW Programowanie SZBD (DBMS) Procedury serwera Procedury składowane

Bardziej szczegółowo

Instrukcje BEGIN TRAN i COMMIT TRAN powodują, że umieszczone pomiędzy nimi polecenia są wykonywane jako całość:

Instrukcje BEGIN TRAN i COMMIT TRAN powodują, że umieszczone pomiędzy nimi polecenia są wykonywane jako całość: Transakcje Transakcje zwykle składają się z kilku odczytujących i modyfikujących bazę danych instrukcji SQL. Transakcja jest rozpatrywana z punktu widzenia serwera. Określa ona, ile pracy wykona SQL Server,

Bardziej szczegółowo

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika Programowanie w SQL procedury i funkcje UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika 1. Funkcje o wartościach skalarnych ang. scalar valued

Bardziej szczegółowo

Microsoft Management Console

Microsoft Management Console Microsoft Management Console Konsola zarządzania jest narzędziem pozwalającym w prosty sposób konfigurować i kontrolować pracę praktycznie wszystkich mechanizmów i usług dostępnych w sieci Microsoft. Co

Bardziej szczegółowo

Kancelaris - Zmiany w wersji 2.50

Kancelaris - Zmiany w wersji 2.50 1. Listy Kancelaris - Zmiany w wersji 2.50 Zmieniono funkcję Dostosuj listę umożliwiając: o Zapamiętanie wielu widoków dla danej listy o Współdzielenie widoków między pracownikami Przykład: Kancelaria

Bardziej szczegółowo

PODSTAWY BAZ DANYCH 13. PL/SQL

PODSTAWY BAZ DANYCH 13. PL/SQL PODSTAWY BAZ DANYCH 13. PL/SQL 1 Wprowadzenie do języka PL/SQL Język PL/SQL - rozszerzenie SQL o elementy programowania proceduralnego. Możliwość wykorzystywania: zmiennych i stałych, instrukcji sterujących

Bardziej szczegółowo

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych SQL SQL (ang. Structured Query Language): strukturalny język zapytań używany do tworzenia strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych

Bardziej szczegółowo

Relacyjne bazy danych. Podstawy SQL

Relacyjne bazy danych. Podstawy SQL Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umożliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.

Bardziej szczegółowo

Charakterystyka systemów plików

Charakterystyka systemów plików Charakterystyka systemów plików Systemy plików są rozwijane wraz z systemami operacyjnymi. Windows wspiera systemy FAT oraz system NTFS. Różnią się one sposobem przechowywania informacji o plikach, ale

Bardziej szczegółowo

InsERT GT Własne COM 1.0

InsERT GT Własne COM 1.0 InsERT GT Własne COM 1.0 Autor: Jarosław Kolasa, InsERT Wstęp... 2 Dołączanie zestawień własnych do systemu InsERT GT... 2 Sposób współpracy rozszerzeń z systemem InsERT GT... 2 Rozszerzenia standardowe

Bardziej szczegółowo

na MS SQLServer 2005 i 2008

na MS SQLServer 2005 i 2008 Wprowadzenie do programowania na MS SQLServer 2005 i 2008 Kalen Delaney, Inside MS SQL Server 2000, Wydawnictwo RM, 2001 Kalen Delaney, Inside MS SQL Server 2005, The storage engine, Microsoft Press, 2007

Bardziej szczegółowo

DECLARE VARIABLE zmienna1 typ danych; BEGIN

DECLARE VARIABLE zmienna1 typ danych; BEGIN Procedury zapamiętane w Interbase - samodzielne programy napisane w specjalnym języku (właściwym dla serwera baz danych Interbase), który umożliwia tworzenie zapytań, pętli, instrukcji warunkowych itp.;

Bardziej szczegółowo

Wstęp INFORMATOR TECHNICZNY WONDERWARE. Synchronizacja danych pomiędzy parą serwerów Wonderware Historian. 1. Założenia

Wstęp INFORMATOR TECHNICZNY WONDERWARE. Synchronizacja danych pomiędzy parą serwerów Wonderware Historian. 1. Założenia Informator Techniczny nr 109 25-05-2009 (aktualizacja 26-08-2015) INFORMATOR TECHNICZNY WONDERWARE Synchronizacja danych pomiędzy parą serwerów Wonderware Historian Wstęp Ten dokument opisuje architekturę

Bardziej szczegółowo

INFORMATOR TECHNICZNY WONDERWARE

INFORMATOR TECHNICZNY WONDERWARE Informator techniczny nr 95 04-06-2007 INFORMATOR TECHNICZNY WONDERWARE Synchronizacja czasu systemowego na zdalnych komputerach względem czasu systemowego na komputerze z serwerem Wonderware Historian

Bardziej szczegółowo

Spis treści. Spis treści 3

Spis treści. Spis treści 3 Spis treści Wprowadzenie...n... 7 Struktura książki...ą...8 Informacje zwrotne...ą...9 Konwencje typograficzne...ą...9 Podziękowania...ą...10 Przykłady kodu...ą...11 Funkcje...n... 13 Funkcje przetwarzania

Bardziej szczegółowo

LAB 6 BEGIN TRANSACTION, COMMIT, ROLLBACK, SET TRANSACTION ISOLATION LEVEL,

LAB 6 BEGIN TRANSACTION, COMMIT, ROLLBACK, SET TRANSACTION ISOLATION LEVEL, Informatyka sem. III studia inżynierskie Transport 2018/19 Lab 6 LAB 6 TRANSACTION, COMMIT, ROLLBACK, SET TRANSACTION ISOLATION LEVEL, UPDATE, INSERT INTO, ALTER TABLE, CREATE VIEW, CREATE TRIGGER, FUNCTION,

Bardziej szczegółowo

Aspekty aktywne baz danych

Aspekty aktywne baz danych Aspekty aktywne baz danych Aktywne aspekty baz danych Baza danych powinna zapewniać pewne własności i niezmienniki; Własności te powinny mogą być zapisane do bazy danych, a baza danych powinna zapewniać

Bardziej szczegółowo

Wykład 8. SQL praca z tabelami 5

Wykład 8. SQL praca z tabelami 5 Wykład 8 SQL praca z tabelami 5 Podzapytania to mechanizm pozwalający wykorzystywać wyniki jednego zapytania w innym zapytaniu. Nazywane często zapytaniami zagnieżdżonymi. Są stosowane z zapytaniami typu

Bardziej szczegółowo

INFORMATOR TECHNICZNY WONDERWARE. Konfiguracja komputera klienckiego do łączenia się z serwerem IndustrialSQL

INFORMATOR TECHNICZNY WONDERWARE. Konfiguracja komputera klienckiego do łączenia się z serwerem IndustrialSQL Informator Techniczny nr 68 19-01-2004 INFORMATOR TECHNICZNY WONDERWARE Konfiguracja komputera klienckiego do łączenia się z serwerem IndustrialSQL W celu podłączenie komputera klienckiego do serwera IndustrialSQL,

Bardziej szczegółowo

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia Składowe wyzwalacza ( ECA ): określenie zdarzenia ( Event ) określenie

Bardziej szczegółowo

System Zarządzania Relacyjną Bazą Danych (SZRBD) Microsoft Access 2010

System Zarządzania Relacyjną Bazą Danych (SZRBD) Microsoft Access 2010 System Zarządzania Relacyjną Bazą Danych (SZRBD) Microsoft Access 2010 Instrukcja do zajęć laboratoryjnych Część 1. ĆWICZENIE 1 ZADANIE 1 Utworzyć bazę danych Osoby, składającą się z jednej tabeli o następującej

Bardziej szczegółowo

dbsamples.udl lub przygotowany wcześniej plik dla Excela) i OK,

dbsamples.udl lub przygotowany wcześniej plik dla Excela) i OK, PRACA Z BAZAMI DANYCH w AutoCAD-zie AutoCAD umożliwia dostęp do zewnętrznych baz danych, utworzonych zarówno w MS ACCESS czy w MS EXCEL, jak i w dbase czy SQL Server. Połączenie następuje poprzez odwołanie

Bardziej szczegółowo

Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze

Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze 1 Funkcje i procedury pamiętane Następujące polecenie tworzy zestawienie zawierające informację o tym ilu jest na naszej hipotetycznej

Bardziej szczegółowo

Relacyjne bazy danych. Podstawy SQL

Relacyjne bazy danych. Podstawy SQL Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umoŝliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.

Bardziej szczegółowo

Wykład 5. SQL praca z tabelami 2

Wykład 5. SQL praca z tabelami 2 Wykład 5 SQL praca z tabelami 2 Wypełnianie tabel danymi Tabele można wypełniać poprzez standardową instrukcję INSERT INTO: INSERT [INTO] nazwa_tabeli [(kolumna1, kolumna2,, kolumnan)] VALUES (wartosc1,

Bardziej szczegółowo

Praca na wielu bazach danych część 2. (Wersja 8.1)

Praca na wielu bazach danych część 2. (Wersja 8.1) Praca na wielu bazach danych część 2 (Wersja 8.1) 1 Spis treści 1 Analizy baz danych... 3 1.1 Lista analityczna i okno szczegółów podstawowe informacje dla każdej bazy... 3 1.2 Raporty wykonywane jako

Bardziej szczegółowo

SKRÓCONA INSTRUKCJA OBSŁUGI ELEKTRONICZNEGO BIURA OBSŁUGI UCZESTNIKA BADANIA BIEGŁOŚCI

SKRÓCONA INSTRUKCJA OBSŁUGI ELEKTRONICZNEGO BIURA OBSŁUGI UCZESTNIKA BADANIA BIEGŁOŚCI SKRÓCONA INSTRUKCJA OBSŁUGI ELEKTRONICZNEGO BIURA OBSŁUGI UCZESTNIKA BADANIA BIEGŁOŚCI 1. CO TO JEST ELEKTRONICZNE BIURO OBSŁUGI UCZESTNIKA (EBOU) Elektroniczne Biuro Obsługi Uczestnika to platforma umożliwiająca

Bardziej szczegółowo

Chmura obliczeniowa. do przechowywania plików online. Anna Walkowiak CEN Koszalin 2015-10-16

Chmura obliczeniowa. do przechowywania plików online. Anna Walkowiak CEN Koszalin 2015-10-16 Chmura obliczeniowa do przechowywania plików online Anna Walkowiak CEN Koszalin 2015-10-16 1 Chmura, czyli co? Chmura obliczeniowa (cloud computing) to usługa przechowywania i wykorzystywania danych, do

Bardziej szczegółowo

BAZY DANYCH Cz III. Transakcje, Triggery

BAZY DANYCH Cz III. Transakcje, Triggery BAZY DANYCH Cz III Transakcje, Triggery Transakcje Definicja: Zbiór operacji (modyfikacja danych, usuwanie, wstawianie, tworzenie obiektów bazodanowych), które albo wszystkie kończone są sukcesem, albo

Bardziej szczegółowo

Instrukcja zarządzania systemem informatycznym służącym do przetwarzania danych osobowych

Instrukcja zarządzania systemem informatycznym służącym do przetwarzania danych osobowych Załącznik nr 1 do Zarządzenia Nr 1/2013 Dyrektora Zespołu Obsługi Szkół i Przedszkoli w Muszynie z dnia 30 grudnia 2013 r. Instrukcja zarządzania systemem informatycznym służącym do przetwarzania danych

Bardziej szczegółowo

Oprogramowanie FonTel służy do prezentacji nagranych rozmów oraz zarządzania rejestratorami ( zapoznaj się z rodziną rejestratorów FonTel ).

Oprogramowanie FonTel służy do prezentacji nagranych rozmów oraz zarządzania rejestratorami ( zapoznaj się z rodziną rejestratorów FonTel ). {tab=opis} Oprogramowanie FonTel służy do prezentacji nagranych rozmów oraz zarządzania rejestratorami ( zapoznaj się z rodziną rejestratorów FonTel ). Aplikacja umożliwia wygodne przeglądanie, wyszukiwanie

Bardziej szczegółowo

Bazy danych. Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15

Bazy danych. Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15 Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15 Przechowywanie danych Wykorzystanie systemu plików, dostępu do plików za pośrednictwem systemu operacyjnego

Bardziej szczegółowo

Plan bazy: Kod zakładający bazę danych: DROP TABLE noclegi CASCADE; CREATE TABLE noclegi( id_noclegu SERIAL NOT NULL,

Plan bazy: Kod zakładający bazę danych: DROP TABLE noclegi CASCADE; CREATE TABLE noclegi( id_noclegu SERIAL NOT NULL, Mój projekt przedstawia bazę danych noclegów składającą się z 10 tabel. W projekcie wykorzystuje program LibreOffice Base do połączenia psql z graficznym interfejsem ( kilka formularzy przedstawiających

Bardziej szczegółowo

PERSON Kraków 2002.11.27

PERSON Kraków 2002.11.27 PERSON Kraków 2002.11.27 SPIS TREŚCI 1 INSTALACJA...2 2 PRACA Z PROGRAMEM...3 3. ZAKOŃCZENIE PRACY...4 1 1 Instalacja Aplikacja Person pracuje w połączeniu z czytnikiem personalizacyjnym Mifare firmy ASEC

Bardziej szczegółowo

Zintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 SKONTRUM

Zintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 SKONTRUM Zintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 SKONTRUM PROGRAM INWENTARYZACJI Poznań 2011 Spis treści 1. WSTĘP...4 2. SPIS INWENTARZA (EWIDENCJA)...5 3. STAŁE UBYTKI...7 4. INTERPRETACJA ZAŁĄCZNIKÓW

Bardziej szczegółowo

15. Funkcje i procedury składowane PL/SQL

15. Funkcje i procedury składowane PL/SQL 15. Funkcje i procedury składowane PLSQL 15.1. SQL i PLSQL (Structured Query Language - SQL) Język zapytań strukturalnych SQL jest zbiorem poleceń, za pomocą których programy i uŝytkownicy uzyskują dostęp

Bardziej szczegółowo

Struktura bazy danych

Struktura bazy danych Procedury składowane, funkcje i wyzwalacze Struktura bazy danych Tabela Oddziały ID Nazwa Adres 10 POZNAN Kwiatowa 3 20 WARSZAWA al. Jerozolimskie 22 30 KRAKOW Planty 14 40 WROCLAW Nad Odra 16 50 GDANSK

Bardziej szczegółowo

Obliczenia arytmetyczne. Konkatenacja pól. Aliasy kolumn. Aliasy tabel. Co dalej? Rozdział 4. Korzystanie z funkcji. Zastosowanie funkcji

Obliczenia arytmetyczne. Konkatenacja pól. Aliasy kolumn. Aliasy tabel. Co dalej? Rozdział 4. Korzystanie z funkcji. Zastosowanie funkcji O autorze Wprowadzenie Rozdział 1. Relacyjne bazy danych i SQL Język i logika Definicja SQL Microsoft SQL Server, Oracle i MySQL Inne bazy danych Relacyjne bazy danych Klucze główne i obce Typy danych

Bardziej szczegółowo

System do kontroli i analizy wydawanych posiłków

System do kontroli i analizy wydawanych posiłków System do kontroli i analizy wydawanych posiłków K jak KORZYŚCI C jak CEL W odpowiedzi na liczne pytania odnośnie rozwiązania umożliwiającego elektroniczną ewidencję wydawanych posiłków firma PControl

Bardziej szczegółowo

Post-relacyjne bazy danych

Post-relacyjne bazy danych Post-relacyjne bazy danych Historia języka SQL 1. Sequel-XRM 2. Sequel/2 SQL 3. ANSI SQL 1986 (ISO 1987) 4. X/Open (UNIX), SAA(IBM) 5. ANSI SQL 1989 6. ANSI/ISO SQL 92 Entry level 7. ANSI SQL 92 (SQL 2)

Bardziej szczegółowo

Tworzenie baz danych i tabel

Tworzenie baz danych i tabel Tworzenie baz danych i tabel Wprowadzenie SQL (ang. Structured Query Language strukturalny język zapytań używany do tworzenia, modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych.

Bardziej szczegółowo

Bazy danych. Dr inż. Paweł Kasprowski

Bazy danych. Dr inż. Paweł Kasprowski Plan wykładu Bazy danych Podstawy relacyjnego modelu danych Dr inż. Paweł Kasprowski pawel@kasprowski.pl Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność

Bardziej szczegółowo

050 SQL ELEMENTY ZAAWANSOWANE. Prof. dr hab. Marek Wisła

050 SQL ELEMENTY ZAAWANSOWANE. Prof. dr hab. Marek Wisła 050 SQL ELEMENTY ZAAWANSOWANE Prof. dr hab. Marek Wisła Deklarowanie zmiennych DECLARE @nazwa-zmiennej typ-danych {, @nazwazmiennej typ-danych}; deklaruje nazwy zmiennych lokalnych (definiowanych przez

Bardziej szczegółowo

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl Bazy danych Zapytania SELECT Dr inż. Paweł Kasprowski pawel@kasprowski.pl Przykład HAVING Podaj liczebność zespołów dla których najstarszy pracownik urodził się po 1940 select idz, count(*) from prac p

Bardziej szczegółowo

PL/SQL. Zaawansowane tematy PL/SQL

PL/SQL. Zaawansowane tematy PL/SQL PL/SQL Zaawansowane tematy PL/SQL Cele Poznanie złożonych i referencyjnych typów danych Poznanie konstrukcji kursora Poznanie kodu składowanego Poznanie procedur i funkcji 2 Złożone typy danych RECORD

Bardziej szczegółowo

Program szkoleniowy Efektywni50+ Moduł III Standardy wymiany danych

Program szkoleniowy Efektywni50+ Moduł III Standardy wymiany danych Program szkoleniowy Efektywni50+ Moduł III 1 Wprowadzenie do zagadnienia wymiany dokumentów. Lekcja rozpoczynająca moduł poświęcony standardom wymiany danych. Wprowadzenie do zagadnień wymiany danych w

Bardziej szczegółowo

Sieci komputerowe cel

Sieci komputerowe cel Sieci komputerowe cel współuŝytkowanie programów i plików; współuŝytkowanie innych zasobów: drukarek, ploterów, pamięci masowych, itd. współuŝytkowanie baz danych; ograniczenie wydatków na zakup stacji

Bardziej szczegółowo

Wiedza niepewna i wnioskowanie (c.d.)

Wiedza niepewna i wnioskowanie (c.d.) Wiedza niepewna i wnioskowanie (c.d.) Dariusz Banasiak Katedra Informatyki Technicznej Wydział Elektroniki Wnioskowanie przybliżone Wnioskowanie w logice tradycyjnej (dwuwartościowej) polega na stwierdzeniu

Bardziej szczegółowo

0.1 Hierarchia klas. 0.1.1 Diagram. 0.1.2 Krótkie wyjaśnienie

0.1 Hierarchia klas. 0.1.1 Diagram. 0.1.2 Krótkie wyjaśnienie 0.1 Hierarchia klas 0.1.1 Diagram 0.1.2 Krótkie wyjaśnienie Po pierwsze to jest tylko przykładowe rozwiązanie. Zarówno na wtorkowych i czwartkowych ćwiczeniach odbiegaliśmy od niego, ale nie wiele. Na

Bardziej szczegółowo

Przypomnienie najważniejszych pojęć z baz danych. Co to jest baza danych?

Przypomnienie najważniejszych pojęć z baz danych. Co to jest baza danych? Przypomnienie najważniejszych pojęć z baz danych. Co to jest baza danych? 1 Podstawowe pojęcia: 2 3 4 5 Dana (ang.data) najmniejsza, elementarna jednostka informacji o obiekcie będąca przedmiotem przetwarzania

Bardziej szczegółowo

Wykład 4. W tym wykładzie omówimy deklaratywne więzy spójności stanowiące jeden z elementów aplikacji bazy danych po stronie serwera.

Wykład 4. W tym wykładzie omówimy deklaratywne więzy spójności stanowiące jeden z elementów aplikacji bazy danych po stronie serwera. Wykład 4 Programowanie aplikacji baz danych po stronie serwera Streszczenie W tym wykładzie omówimy deklaratywne więzy spójności stanowiące jeden z elementów aplikacji bazy danych po stronie serwera. Ponadto

Bardziej szczegółowo

Rozwiązywanie nazw w sieci. Identyfikowanie komputerów w sieci

Rozwiązywanie nazw w sieci. Identyfikowanie komputerów w sieci Rozwiązywanie nazw w sieci Identyfikowanie komputerów w sieci Protokół TCP/IP identyfikuje komputery źródłowe i docelowe poprzez ich adresy IP. Jednakże użytkownicy łatwiej zapamiętają słowa niż numery.

Bardziej szczegółowo

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Prezentacja Danych i Multimedia II r Socjologia Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Celem ćwiczeń jest poznanie zasad tworzenia baz danych i zastosowania komend SQL. Ćwiczenie I. Logowanie

Bardziej szczegółowo

Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2.

Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2. Bazy Danych i Systemy informacyjne Wykład 2 Piotr Syga 16.10.2017 Dodawanie, usuwanie i zmienianie rekordów Wstawianie rekordu wstawianie do tabeli INSERT INTO A VALUES ( fioletowy, okrągły, słodko-kwaśny

Bardziej szczegółowo

Administracja i programowanie pod Microsoft SQL Server 2000

Administracja i programowanie pod Microsoft SQL Server 2000 Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 6 Wyzwalacze Wprowadzenie Tworzenie wyzwalacza Wyzwalacze typu,,po'' Wyzwalacze typu,,zamiast''

Bardziej szczegółowo

Automatyzacja procesu publikowania w bibliotece cyfrowej

Automatyzacja procesu publikowania w bibliotece cyfrowej Automatyzacja procesu publikowania w bibliotece cyfrowej Jakub Bajer Biblioteka Politechniki Poznańskiej Krzysztof Ober Poznańska Fundacja Bibliotek Naukowych Plan prezentacji 1. Cel prezentacji 2. Proces

Bardziej szczegółowo

Wdrożenie modułu płatności eservice dla systemu Virtuemart 2.0.x

Wdrożenie modułu płatności eservice dla systemu Virtuemart 2.0.x Wdrożenie modułu płatności eservice dla systemu Virtuemart 2.0.x Wersja 02 Styczeń 2016 Centrum Elektronicznych Usług Płatniczych eservice Sp. z o.o. Spis treści 1. Wstęp... 3 1.1. Przeznaczenie dokumentu...

Bardziej szczegółowo

Uniwersytet Rzeszowski

Uniwersytet Rzeszowski Uniwersytet Rzeszowski Interdyscyplinarne Centrum Modelowania Komputerowego Inżynieria oprogramowania Część 1: Tworzenie dokumentacji projektowej Opracował: dr inż. Przemysław Pardel v2.01 2014 1. Dokumentacja

Bardziej szczegółowo

Hurtownia Świętego Mikołaja projekt bazy danych

Hurtownia Świętego Mikołaja projekt bazy danych Aleksandra Kobusińska nr indeksu: 218366 Hurtownia Świętego Mikołaja projekt bazy danych Zaprezentowana poniżej baza jest częścią większego projektu bazy danych wykorzystywanej w krajowych oddziałach wiosek

Bardziej szczegółowo

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota Laboratorium nr 3 1 Bazy Danych Instrukcja laboratoryjna Temat: Wprowadzenie do języka SQL, tworzenie, modyfikacja, wypełnianie tabel 3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota 1)

Bardziej szczegółowo

System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy

System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy Instrukcja obsługi programu 2.11. Przygotowanie programu do pracy - ECP Architektura inter/intranetowa System Informatyczny CELAB Przygotowanie programu do pracy - Ewidencja Czasu Pracy Spis treści 1.

Bardziej szczegółowo

Instrukcja obsługi Norton Commander (NC) wersja 4.0. Autor: mgr inż. Tomasz Staniszewski

Instrukcja obsługi Norton Commander (NC) wersja 4.0. Autor: mgr inż. Tomasz Staniszewski Instrukcja obsługi Norton Commander (NC) wersja 4.0 Autor: mgr inż. Tomasz Staniszewski ITM Zakład Technologii Maszyn, 15.10.2001 2 1.Uruchomienie programu Aby uruchomić program Norton Commander standardowo

Bardziej szczegółowo

Instrukcja Obsługi STRONA PODMIOTOWA BIP

Instrukcja Obsługi STRONA PODMIOTOWA BIP Instrukcja Obsługi STRONA PODMIOTOWA BIP Elementy strony podmiotowej BIP: Strona podmiotowa Biuletynu Informacji Publicznej podzielona jest na trzy części: Nagłówek strony głównej Stopka strony podmiotowej

Bardziej szczegółowo

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1 Procedury wyzwalane procedury wyzwalane, cel stosowania, typy wyzwalaczy, wyzwalacze na poleceniach DML i DDL, wyzwalacze typu INSTEAD OF, przykłady zastosowania, zarządzanie wyzwalaczami 1 Procedury wyzwalane

Bardziej szczegółowo

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1 Tworzenie tabel Tabela podstawowa struktura, na której zbudowana jest relacyjna baza danych. Jest to zbiór kolumn (atrybutów) o ustalonych właściwościach, w których przechowuje się dane. Dane te są reprezentowane

Bardziej szczegółowo

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście. Rodzaje triggerów Triggery DML na tabelach INSERT, UPDATE, DELETE Triggery na widokach INSTEAD OF Triggery DDL CREATE, ALTER, DROP Triggery na bazie danych SERVERERROR, LOGON, LOGOFF, STARTUP, SHUTDOWN

Bardziej szczegółowo

Wykład 8 Ochrona danych wprowadzenie Sterowanie dostępem do danych Sterowanie przepływem danych Ograniczanie możliwości wnioskowania Szyfrowanie

Wykład 8 Ochrona danych wprowadzenie Sterowanie dostępem do danych Sterowanie przepływem danych Ograniczanie możliwości wnioskowania Szyfrowanie Wykład 8 Ochrona danych wprowadzenie Sterowanie dostępem do danych Sterowanie przepływem danych Ograniczanie możliwości wnioskowania Szyfrowanie 1 Sterowanie dostępem (przyznawanie prawa dostępu) polega

Bardziej szczegółowo

040 STRUCTURED QUERY LANGUAGE. Prof. dr hab. Marek Wisła

040 STRUCTURED QUERY LANGUAGE. Prof. dr hab. Marek Wisła 040 STRUCTURED QUERY LANGUAGE Prof. dr hab. Marek Wisła SQL strukturalny język zapytań SQL (Structured Query Language) strukturalny język zapytań używany do tworzenia, modyfikowania relacyjnych baz danych

Bardziej szczegółowo

Jak usprawnić procesy controllingowe w Firmie? Jak nadać im szerszy kontekst? Nowe zastosowania naszych rozwiązań na przykładach.

Jak usprawnić procesy controllingowe w Firmie? Jak nadać im szerszy kontekst? Nowe zastosowania naszych rozwiązań na przykładach. Jak usprawnić procesy controllingowe w Firmie? Jak nadać im szerszy kontekst? Nowe zastosowania naszych rozwiązań na przykładach. 1 PROJEKTY KOSZTOWE 2 PROJEKTY PRZYCHODOWE 3 PODZIAŁ PROJEKTÓW ZE WZGLĘDU

Bardziej szczegółowo

I. INSTALACJA BAZY DANYCH ORACLE10g EXPRESS EDITION

I. INSTALACJA BAZY DANYCH ORACLE10g EXPRESS EDITION I. INSTALACJA BAZY DANYCH ORACLE10g EXPRESS EDITION Plik instalacyjny mo na uzyska ze stron firmy Oracle http://otn.oracle.com, wybieraj c w rozwijanym menu DOWNLOADS Database. Aby pobra interesuj c nas

Bardziej szczegółowo

Spis treści 1. Wstęp 2. Projektowanie systemów informatycznych

Spis treści 1. Wstęp 2. Projektowanie systemów informatycznych Spis treści 1. Wstęp... 9 1.1. Inżynieria oprogramowania jako proces... 10 1.1.1. Algorytm... 11 1.2. Programowanie w językach wysokiego poziomu... 11 1.3. Obiektowe podejście do programowania... 12 1.3.1.

Bardziej szczegółowo

VinCent Office. Moduł Drukarki Fiskalnej

VinCent Office. Moduł Drukarki Fiskalnej VinCent Office Moduł Drukarki Fiskalnej Wystawienie paragonu. Dla paragonów definiujemy nowy dokument sprzedaży. Ustawiamy dla niego parametry jak podano na poniższym rysunku. W opcjach mamy możliwość

Bardziej szczegółowo