ZASADY PROGRAMOWANIA I MODELOWANIA BAZ DANYCH PLATFORMY 4NET

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

Download "ZASADY PROGRAMOWANIA I MODELOWANIA BAZ DANYCH PLATFORMY 4NET"

Transkrypt

1 ZASADY PROGRAMOWANIA I MODELOWANIA BAZ DANYCH PLATFORMY 4NET Historia zmian Data zmiany Wersja Autor Opis Michał Gołoś Utworzenie pierwszej wersji dokumentu Sebastian Daniluk Odświeżenie zasad Adrian Otto Doprecyzowanie punktu ZASADY MODELOWANIA KONWENCJA NAZEWNICZA 1.1. Nazwy obiektów powinny być w języku angielskim w liczbie pojedynczej Nazwy obiektów nie powinny zaczynać się od cyfry i nie powinny zawierać spacji Nazwy tabel i widoków powinny być poprzedzone prefiksem (wymyślonym wg. zdrowego rozsądku np. pierwsze spółgłoski z nazwy) dla tabel stosujemy prefiks pięcioznakowy, np. cmn.busno_business_node dla tabel głównych systemu piątą literą w prefiksie powinna być litera x, np. cmn.patix_patient dla tabel asocjacji prefiks składa się ze złączenia prefiksów tabel, które łączymy rozdzielonych znakiem _. Pierwszy powinien być ten ważniejszy (wg. zdrowego rozsądku ). Przykład: prodx_servx (połączenie tabel prodx_product, servx_service) dla widoków stosujemy prefiks sześcioznakowy, przy czym szóstym znakiem powinna być litera v, np. cmn.shrsxv_reservation_service_instance. nazwy widoków będące nazwą tabeli z dodaną literą v do prefiksu są zarezerwowane, np. cmn.montxv_month. Zazwyczaj są one wykorzystywane do widoków generowanych na tabelach wykorzystujących rozwiązanie wielojęzyczności 1.4. Nazwy kluczy głównych powinny być zgodne ze wzorcem: nazwa kolumny nazwa ograniczenia (constraint), gdzie <table_prefix>_id PK_<table_name>

2 <table_prefix> - prefik tabeli np. dla tabeli cmn.factx_facility powinno to być odpowiednio: factx_id i PK_factx_facility W przypadku gdy kolumna PK pochodzi z innej tabeli, tzn. jest jednocześnie PK i FK, to powinna mieć nazwę według klucza: <pkcolumnname>_< table_prefix >, gdzie <table_prefix> oznacza prefiks tabeli, w której dodajemy taki skopiowany klucz np. kolumna shdlx_id_shblk w tabeli shdl.shblk_schedule_blockade 1.5. Nazwy kluczy obcych powinny być zgodne ze wzorcem: nazwa kolumny nazwa ograniczenia (constraint) <foreign_column_name>[_<relation_type>] FK_<table_prefix>_<foreign_column_name>[_<relation_type>], gdzie <foreign_column_name> - nazwa kolumny w innej tabeli do której się odnosimy <relation_type> - opcjonalne określenie typu relacji w przypadku wielokrotnego odwoływania się do tej samej tabeli np. kolumna locat_id w tabeli cmn.factx_facility jest referencją do klucza głównego w tabeli cmn.locat_location, nazwa ograniczenia w tym przypadku jest FK_factx_locat_id kolumny servt_id_additional_service, servt_id_ffs_patient, servt_id_contract_patient z tabeli slr.sersc_service_salary_configuration są referencjami do klucza głównego w tabeli slr.servt_service_valuation_type 1.6. Nazwy ograniczeń typu default powinny być zgodne ze wzorcem: DF_<table_prefix>_<column_name> np. nazwa ograniczenia DF_patix_patix_active dla kolumny patix_active w tabeli cmn.patix_patient 1.7. Nazwy ograniczeń typu unique powinny być zgodne ze wzorcem: UQ_<table_prefix>_<column_name> Zalecane jest używanie indeksów zamiast constraint Nazwy ograniczeń typu check powinny być zgodne ze wzorcem: CK_<table_prefix>_ <column_name> 1.9. Nazwy indeksów powinny być zgodne ze wzorcem: IX_<table_prefix >_<column_list> Nazwy procedur powinny być zgodne ze wzorcem: sp<applicationname>_<action><table name or Logical instance etc.>, gdzie <ApplicationName> - nazwa aplikacji, np. Recp, EHR, Prd, GPP, itp. np: cmn.spehr_searchpatient Nazwy funkcji powinny być zgodne ze wzorcem: udf<applicationname>_<action><table name or Logical instance etc.> KOMPETENCJE ZESPOŁU DB DEV Do kompetencji należących wyłącznie do Zespół DB Dev a dotyczących modelowania i programowania baz danych należy min.: akceptacja zmian modelu

3 tworzenie kluczowych procedur, funkcji, widoków itd. w szczególności tych które mają widoczny wpływ na wydajność całego systemu od strony baz danych dodawanie nowych funkcji CLR (lista dostępnych funkcji - patrz niżej) tworzenie wyszukiwarek tekstowych optymalizacja/strojenie, w tym tworzeniem indeksów Zmiany do modelu muszą być zgłoszone do Zespołu DB Dev w celu weryfikacji i akceptacji POZOSTAŁE ZASADY Nie używamy kluczy głównych (PK) na kilku kolumnach. Jeżeli tabela posiada taki klucz, to należy utworzyć sztuczny klucz PK, a na dotychczasowych kolumnach, jeżeli była wymagana unikalność, trzeba założyć unikalny indeks Do grupowania rozwiązań stosujemy schema, nazwa jak najkrótsza, np. prd. Wyjątkiem są obiekty ogólnego zastosowania, które występują we wszystkich bazach danych Kolumny z wartością DEFAULT powinny być NOT NULL, constraint zawsze z nazwą Używamy typów nvarchar(max), varchar(max), varbinary(max) zamian text, ntext, image. Przy czym długość pola max powinna być użyta w ostateczności. Jeżeli to możliwe liczba znaków powinna zostać jawnie określona i dostosowana do przetrzymywanych danych Dla kolumn do przechowywania wartości pieniężnych używamy typu money Nie zaszywamy nazw serwera i bazy danych w definicji obiektu Do przechowywania wartości wielojęzycznych korzystamy z rozwiązania opisanego w punkcie 3, patrz niżej Do przechowywania konfiguracji aplikacji po stronie bazy danych używamy mechanizmu AppConfig, opisany osobno Do audytowania danych korzystamy ze specjalnego mechanizmu patrz niżej Kolumny typu mapa bitowa posiadają sufix _bit i są typu całkowitoliczbowego. Korzystanie z mapy bitowej, patrz niżej Kolumny z ograniczeniem typu CHECK posiadają sufix _chk oraz muszą posiadać opisy w tabeli cmn.chkdx_check_dictionary, patrz niżej Każdy model lub jego zmiana wchodząca na produkcję musi być zaakceptowana przez Zespół DB Nie zakładamy sami indeksów, wyjątek PK i UQ Nie używamy narzędzia DTA (Database Tuning Advisor), optymalizacją zajmuje się Zespół DB Nie używamy narzędzia Profiler, do monitorowania zapytań dla silników w wersji 2012 lub wyżej jest przygotowany osobny mechanizm, opisany niżej. Dla starszych silników monitorowanie na życzenie w Zespole DB. 2. ZASADY PROGRAMOWANIA 2.1. Kod powinien być opatrzony komentarzem. Komentarze powinny napisane być w języku polskim W kodzie wszystkie słowa kluczowe powinny być pisane z wielkiej litery (UPPER CASE) 2.3. Nie usuwamy danych, tylko je dezaktywujemy (usuwamy tylko te niepotrzebne) 2.4. Obiekty w jednej bazie danych nie mogą odwoływać się do obiektów w innej. Wyjątek baza data_federation, która do tego służy, patrz niżej Nowe procedury, funkcje i widoki powinny zawierać wypełniony nagłówek o postaci: -- ============================================= -- Author: -- Create date: -- Description: -- =============================================

4 3. ROZWIĄZANIA BAZODANOWE BAZA DATA_FEDERATION UWAGA! W przypadku niedużych tabel rekomendowane jest użycie replikacji zamiast bazy DATA_FEDERATION Baza służy do łączenia odwołań do kilku baz danych w jednym miejscu. Baza nie przechowuje danych. Dla każdego obiektu z bazy zewnętrznej tworzony jest synonim. Synonim tworzony jest w schema o nazwie składanej z <DB_prefix>_<schema> Obiekty (widoki, funkcje itd.) tworzymy w schema obiektu rozszerzanego. Odwołania w obiektach tylko do synonimów. OBSŁUGA WIELOJĘZYCZNOŚCI Do przechowywania wszystkich teksów wielojęzycznych w bazach danych używamy typu danych XML z użyciem schema walidującej [dbo].[4net_multilangcollection] oraz typie XML DOCUMENT. Np.: [factp_name] XML (DOCUMENT [dbo].[4net_multilangcollection]) NOT NULL Dla wszystkich tabel z wartościami wielojęzycznymi są generowane automatycznie widoki obsługujące pobieranie danych. Widoki te nie powinny być modyfikowane. Nie odwołujemy się bezpośrednio do wartości, tylko z użyciem w/w widoków. Widoki są tworzone w schema takiej samej, co tabela słownikowa. Informacje o języku są przekazywane w kolumnie langx_code (stare rozwiązanie langx_id). Należy obsługiwać sytuację, w której dla wartości słownikowej nie ma wartości tekstowej w wybranym języku, w takich przypadkach należy zwracać wartość dla języka polskiego. Widoki generowane automatycznie obsługują te przypadki. Do obsługi modyfikacji wielojęzyczności XML służy funkcja dbo.udfgetmultilangvalue. Funkcja przyjmuje 3 typu XML, przekazywany jest XML do modyfikacji, w przypadku UPDATE może to być nazwa kolumny zawierającej XML, dla INSERT ustawiamy typu NVARCHAR(MAX), przekazuje tekst, jaki ma zostać ustawiony, jeżeli chcemy usunąć wartość to ustawiamy - - typu VARCHAR(6), przekazujemy kod języka w którym dotyczy modyfikacja, jeżeli podamy NULL to przyjmuje się wartość pl Dzięki takiej funkcji można pisać instrukcje INSERT/UPDATE dla wielu wierszy w locie. XML SELECT dbo.udfgetmultilangvalue(@x, 'Pierwsza nazwa', NULL) SELECT dbo.udfgetmultilangvalue(@x, 'Pierwsza nazwa', 'EN')

5 INSERT INTO cmn.factp_facility_special_type (factp_active, factp_name) VALUES (1, dbo.udfgetmultilangvalue(null, N'ABW', 'PL')) UPDATE cmn.factp_facility_special_type SET factp_name = dbo.udfgetmultilangvalue(factp_name, N'New Name', 'EN') WHERE factp_id = 2 AUDYT DANYCH Na potrzeby audytu danych w bazach LM, powstał mechanizm zapewniający takie działanie. Mechanizm można włączyć dla dowolnej tabeli, która spełnia poniższe wymagania: 1. Posiada klucz podstawowy (PK). 2. Nie zawiera klucza podstawowego na kilku kolumnach (multi PK). 3. PK nie może być zmieniany, zmiany PK nie są audytowane. 4. Audyt nie obsługuje typów danych: text, ntext, image, geography, geometry, binary, varbinary, timestamp. Sposób instalacji: 1. Dostarczony skrypt uruchomić na bazie, na której chcemy uruchomić mechanizm audytu. Skrypt utworzy 2 tabele: I. [audit].[audtt_definition_table] tabela zawierająca listę tabel, które chcemy audytować, należy wypełnić samemu II. [audit].[audtc_definition_column] tabela zawierająca listę kolumn z w/w tabel, które chcemy audytować, należy wypełnić samemu 2 procedury składowane: I. [audit].[spaudit_create] do uruchamiania audytu dla podanej w parametrach tabeli II. [audit].[spaudit_createall] do uruchomienia audytu na wszystkich zdefiniowanych w tabeli [audit].[audtt_definition_table] tabelach 2. Należy uzupełnić tabelę [audit].[audtt_definition_table], objaśnienie kolumn: [audtt_id] [int] id tabeli, tylko do odczytu [audtt_object_id] kolumna tylko do odczytu, podaje id obiektu, jeżeli znajdzie taką tabelę w strukturze bazy danych [audtt_schema] [sysname] NOT NULL nazwa schemy [audtt_table] [sysname] NOT NULL nazwa tabeli [audtt_length] [varchar](4) NOT NULL wszystkie audytowane dane są konwertowane do typu NVARCHAR, w tej kolumnie podajemy długość przechowywanych danych, np. 16, MAX itp. [audtt_is_common] [bit] NOT NULL DEFAULT (1)- decyduje o sposobie logowania czy będzie to osobna tabela czy wspólna (opcja domyślna) 3. Należy uzupełnić tabelę [audit].[audtc_definition_column], objaśnienie kolumn: [audtc_id] [int] - id wiersza, tylko do odczytu [audtt_id] [int] NOT NULL id tabeli z tabeli [audit].[audtt_definition_table] [audtc_column] [sysname] NOT NULL nazwa kolumny [audtc_alias] [sysname] NULL ewentualny alias kolumny [audtc_is_additional] [bit] NOT NULL DEFAULT (0) czy kolumna jest dodatkową kolumna klucza, domyślnie (False), jeżeli chcemy do audytowanych danych dołączyć wartość z tej kolumny należy ustawić na True 4. Uruchomić mechanizm audytu dla wybranej tabeli przy użyciu procedury [audit].[spaudit_create] podając, jako parametry lub dla wszystkich zdefiniowanych tabel przy użyciu procedury [audit].[spaudit_createall] Do audytowanej tabeli zostaną utworzone: 3 wyzwalacze po jednym dla operacji INSERT, UPDATE, DELETE Tabelę przechowującą historię zmian, jeżeli tak tabela jeszcze nie istnieje, w przypadku audytowania wspólnego (wartość kolumny [audtt_is_common] = True) tabela nazywać się będzie [audit].[audtl_audit], jeżeli audytowanie ma przebiegać osobno nazwa

6 będzie w formie [audit].[audtl_<schema audytowanej tabeli_nazwa audytowanej tabeli>_audit] Bezpośrednio do audytowanej tabeli zostaną dodane kolumny: [audtl_row_version] [int] wersja wiersza, automatycznie zwiększana w przypadku modyfikacji danych [audtl_created] [datetime] przechowuje datę utworzenia rekordu, jeżeli rekord został wstawiony przed włączeniem audytu to przechowuję datę włączenia audytu [audtl_created_by] [nvarchar] (128) - przechowuje nazwę użytkownika, który utworzył rekord, jeżeli rekord został wstawiony przed włączeniem audytu to przechowuję nazwę użytkownika włączającego audytu [audtl_operation] [char](1) przechowuje typ operacji (I,U,D) [audtl_owner] [nvarchar] (128) - nazwę użytkownika, który ostatnio modyfikował dane [audtl_from] [datetime] data od kiedy obowiązuję/obowiązywała wersja rekordu [audtl_to] [datetime] data do kiedy obowiązuję/obowiązywała wersja rekordu Zrealizowany został mechanizm ustawiania wartości kolumn [audtl_created_by] i [audtl_owner] na podstawie kontekstu sesji. Aby przekazać do audytu informację o użytkowniku wykonującym modyfikację należy po otworzeniu sesji wstawić nazwę użytkownika do parametru CONTEXT_INFO Przykładowy kod, gdzie 'username' to przekazywana nazwa użytkownika: VARBINARY(128) = CAST('username' AS VARBINARY(128)) SET TYPY I OPERATORY BITOWE Kolumny typu mapa bitowa posiadają sufix _bit i są typu całkowitoliczbowego. Do pracy z mapami bitowymi służą operatory bitowe: & - Bitwise AND - Bitwise OR ^ - Bitwise Exclusive OR Przykład zastosowania: [operation].[slr].[worcn_worker_contract].[worcn_contract_data_bit] Mapa bitowa [worcn_contract_data_bit] przedstawia wartości umowy. Kolejne bity odpowiadają wartościom: Nr. bitu Dzień tygodnia BIN DEC 1 worcn_to_be_exported worcn_use_fixed_salary worcn_use_service_salary worcn_use_additional_service_valuation worcn_nfz_points_salary worcn_poz_patients_salary worcn_use_service_variant_control_change worcn_use_worked_hours_salary

7 Poniższe zapytanie zwraca wyniki dla rekordów, które w mapie [worcn_contract_data_bit] mają ustawione bity 2(worcn_use_fixed_salary) oraz 8(worcn_use_worked_hours_salary). select * from [slr].[worcn_worker_contract] where [worcn_contract_data_bit] & 2>0 AND [worcn_contract_data_bit] & 128>0 TABELA CMN.CHKDX_CHECK_DICTIONARY Tabela przechowuje wartości zawarte w ograniczeniach typu CHECK. Kolumny: [chkdx_id][int] - ID, generowane automatycznie [chkdx_code][char](1) dopuszczalna wartość ograniczenia [chkdx_target_column][varchar](400) nazwa kolumny zawierającej ograniczenie [chkdx_sort_order][int] kolejność wartości [chkdx_name] [XML] nazwa odpowiadająca danej wartości Każda wartość to oddzielny w wpis w tabeli [cmn].[chkdx_check_dictionary] Przykład: 1. Dodanie Ograniczenia typu CHECK ALTER TABLE [cmn].[serva_service_variant] WITH CHECK ADD CONSTRAINT [CK_serva_esignature_chk] CHECK (([serva_esignature_chk]=' T ' OR [serva_esignature_chk]='n')) 2. Wpis do [cmn].[chkdx_check_dictionary] INSERT INTO cmn.chkdx_check_dictionary (chkdx_code,chkdx_target_column,chkdx_sort_order,chkdx_name) VALUES ('T','cmn.serva_service_variant.serva_esignature_chk',1, dbo.udfgetmultilangvalue(null, N'TAK', 'PL')), ('N','cmn.serva_service_variant.serva_esignature_chk',2, dbo.udfgetmultilangvalue(null, N'NIE', 'PL')) FUNKCJE CLR Nazwa dbo.concat( <@value, NVARCHAR(MAX),>, <@delimiter, NVARCHAR(MAX),>) dbo.regexmatch ( <@pattern, NVARCHAR(MAX),>, <@options, INT,>) dbo.regexismatch ( Miejsce użycia Opis SELECT dbo.concat(c, ; ) FROM (VALUES ('a'), ('b'), ('c')) t(c) SELECT dbo.regexmatch('me@mymail.com', '^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}$', 1)

8 NVARCHAR(MAX),>, INT,>) dbo.regexindex ( <@pattern, NVARCHAR(MAX),>, <@options, INT,>) dbo.regexescape ( <@input, NVARCHAR(MAX),>) dbo.regexreplace ( <@pattern, NVARCHAR(MAX),>, <@replacement, NVARCHAR(MAX),>) dbo.regexreplacex ( <@pattern, NVARCHAR(MAX),>, <@replacement, NVARCHAR(MAX),>, <@options, INT,>) dbo.regexoptionenumeration ( <@IgnoreCase, BIT,>,<@MultiLine, BIT,>,<@ExplicitCapture, BIT,>,<@Compiled, BIT,>,<@SingleLine, BIT,>,<@IgnorePatternWhitespace, BIT,>,<@RightToLeft, BIT,>,<@ECMAScript, BIT,>,<@CultureInvariant, BIT,>) dbo.fuzzymatch ( <@firststring, NVARCHAR(MAX),>,<@secondString, NVARCHAR(MAX),>,<@ignoreCase, BIT,>) dbo.trim ( <@text, NVARCHAR(MAX),>) dbo.isvalidpesel ( <@pesel, NVARCHAR(11),>) dbo.isvalidnip ( <@nip, NVARCHAR(10),>) dbo.formatdatatime ( <@dt, DATATIME,>,<@formatstring, NVARCHAR(64),>) dbo.removeaccent ( <@text, NVARCHAR(MAX),>) dbo.split ( <@Input, NVARCHAR(MAX),>,<@Delimiter, NVARCHAR(255),>) gdzie RegEx SELECT dbo.regexismatch('me@mymail.com', '^[A- Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}$', 1) SELECT dbo.regexindex('me@mymail.com','\bcom\b',1) SELECT dbo.regexescape('[*]') SELECT dbo.regexreplace('warszawa (Mazowieckie)', '.*?\((.*?)\).*', '$1') SELECT dbo.regexreplacex('powered by '\b(https? ftp file)://([-a-z0-9+&@#/%?=~_!:,.;]*[-a-z0-9+&@#/%=~_ ])', '<a href="$2">$2</a>',1) SELECT dbo.regexoptionenumeration (1,0,0,0,0,0,0,0,0) SELECT [dbo].[fuzzymatch] ('ala', 'ola', 1) SELECT [dbo].[trim] (' ala ') SELECT [dbo].[isvalidpesel] (' ') SELECT [dbo].[isvalidnip] (' ') SELECT [dbo].[formatdatatime](' :52:45', 'dd-mm-yyyythh:mm:ss') SELECT [dbo]. [RemoveAccent]('ąćęńóśźż') SELECT * FROM [dbo].[split]('a,b,cd,e,f,gh', ',') MONITOROWANIE ZAPYTAŃ Dla silników SQL Server w wersji 2012 lub wyższej włączony jest mechanizm Extended Events, utworzony jest event o nazwie Profiler, który umożliwia monitorowanie ruchu na serwerze. Event można znaleźć z poziomu SSMS, po zalogowaniu do serwera, w katalogu Management-> Extended Events->Profiler, klikamy PPM i wybieramy opcję Watch Live Data, przykład:

9 4. DOBRE PRAKTYKI PROGRAMOWANIA W TSQL 1.1. Unikamy stosowania symbolu *, klauzuli DISTINCT oraz LIKE w zapytaniach Jeżeli potrzebujemy uzyskać identyfikator wstawianego wiersza to należy używać SCOPE_IDENTITY(), a zwraca identyfikator ostatnio dodanego wiersza, nie koniecznie tego, którego wstawiliśmy. Możliwe jest, że w wyniku naszego wstawienia został wyzwolony jakiś trigger, który dokonał innego wstawienia do innej tabeli, wtedy otrzymamy jego identyfikator.

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15 T-SQL dla każdego / Alison Balter. Gliwice, cop. 2016 Spis treści O autorce 11 Dedykacja 12 Podziękowania 12 Wstęp 15 Godzina 1. Bazy danych podstawowe informacje 17 Czym jest baza danych? 17 Czym jest

Bardziej szczegółowo

Język SQL, zajęcia nr 1

Język SQL, zajęcia nr 1 Język SQL, zajęcia nr 1 SQL - Structured Query Language Strukturalny język zapytań Login: student Hasło: stmeil14 Baza danych: st https://194.29.155.15/phpmyadmin/index.php Andrzej Grzebielec Najpopularniejsze

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

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

Ć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

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. 77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. Przy modelowaniu bazy danych możemy wyróżnić następujące typy połączeń relacyjnych: jeden do wielu, jeden do jednego, wiele

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska Klucz podstawowy PRIMARY KEY Klucz kandydujący UNIQUE Klucz alternatywny - klucze kandydujące, które nie zostały wybrane na klucz podstawowy Klucz obcy - REFERENCES Tworząc tabelę,

Bardziej szczegółowo

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

PRZESTRZENNE BAZY DANYCH WYKŁAD 2 PRZESTRZENNE BAZY DANYCH WYKŁAD 2 Baza danych to zbiór plików, które fizycznie przechowują dane oraz system, który nimi zarządza (DBMS, ang. Database Management System). Zadaniem DBMS jest prawidłowe przechowywanie

Bardziej szczegółowo

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi. Marek Robak Wprowadzenie do języka SQL na przykładzie baz SQLite Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi. Tworzenie tabeli Pierwsza tabela W relacyjnych bazach danych jedna

Bardziej szczegółowo

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, 2017 Spis treści O autorze 9 Wprowadzenie 11 Lekcja 1. Zrozumieć SQL 15 Podstawy baz danych 15 Język SQL

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

Systemy GIS Tworzenie zapytań w bazach danych

Systemy GIS Tworzenie zapytań w bazach danych Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE

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

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2.

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. Ograniczenia integralnościowe, modyfikowanie struktury relacji, zarządzanie ograniczeniami. 1 Ograniczenia integralnościowe Służą do weryfikacji

Bardziej szczegółowo

Bazy danych Ćwiczenia projektowe

Bazy danych Ćwiczenia projektowe Bazy danych Ćwiczenia projektowe Przygotował: Piotr Hajder Katedra Informatyki Stosowanej i Modelowania Wydział Inżynierii Metali i Informatyki Przemysłowej, AGH Agenda 01. Typy danych 02. Polecenia DDL

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

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

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

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

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1 Bazy danych Wykład IV SQL - wprowadzenie Copyrights by Arkadiusz Rzucidło 1 Czym jest SQL Język zapytań deklaratywny dostęp do danych Składnia łatwa i naturalna Standardowe narzędzie dostępu do wielu różnych

Bardziej szczegółowo

Aby uruchomić program klienta i połączyć się z serwerem, należy komendę:

Aby uruchomić program klienta i połączyć się z serwerem, należy komendę: Bazy danych. Komunikacja z serwerem Aby połączyć się z serwerem i móc wykonywać czynności związane z obsługą baz, potrzebny jest program klienta. Razem z serwerem MySQL dostępny jest działający w wierszu

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

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

Wprowadzenie do projektowania i wykorzystania baz danych Relacje Wprowadzenie do projektowania i wykorzystania baz danych Relacje Katarzyna Klessa Dygresja nt. operatorów SELECT 2^2 SELECT 2^30 SELECT 50^50 2 Dygresja nt. operatorów SELECT 2^30 --Bitwise exclusive OR

Bardziej szczegółowo

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , , Celem ćwiczeń jest zaprojektowanie oraz utworzenie na serwerze bazy danych przechowującej informacje na temat danych kontaktowych. Celem jest również zapoznanie z podstawowymi zapytaniami języka SQL służącymi

Bardziej szczegółowo

BAZY DANYCH. CREATE TABLE dbo.wydzialy (ID INT, Akronim VARCHAR(4) NOT NULL, Wydzial VARCHAR(30) NOT NULL, CONSTRAINT Kluczyk PRIMARY KEY(ID) )

BAZY DANYCH. CREATE TABLE dbo.wydzialy (ID INT, Akronim VARCHAR(4) NOT NULL, Wydzial VARCHAR(30) NOT NULL, CONSTRAINT Kluczyk PRIMARY KEY(ID) ) BAZY DANYCH laboratorium 3 tworzenie, modyfikacje i usuwanie tabel, operacje na danych Cel Stworzenie w ramach bazy danych Biblioteka nowych tabel według specyfikacji (CREATE TABLE Ustawianie właściwości

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 2 Typy danych wbudowane użytkownika Tabele organizacja wiersza przechowywanie dużych danych automatyczne

Bardziej szczegółowo

Wyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz

Wyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz Wyzwalacze Wyzwalacze są specjalnymi procedurami składowanymi, uruchamianymi automatycznie w następstwie zaistnienia określonego typu zdarzenia. Ich główne zadanie polega na wymuszaniu integralności danych

Bardziej szczegółowo

Bazy danych 6. Klucze obce. P. F. Góra

Bazy danych 6. Klucze obce. P. F. Góra Bazy danych 6. Klucze obce P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2018 Dygresja: Metody przechowywania tabel w MySQL Tabele w MySQL moga być przechowywane na kilka sposobów. Sposób ten (żargonowo:

Bardziej szczegółowo

I. Język manipulowania danymi - DML (Data Manipulation Language). Polecenia INSERT, UPDATE, DELETE

I. Język manipulowania danymi - DML (Data Manipulation Language). Polecenia INSERT, UPDATE, DELETE Wykład 9 Implementacja języka SQL w systemach baz danych Oracle manipulowanie danymi (DML), tworzenie, modyfikowanie i usuwanie obiektów bazy danych: tabel i perspektyw, więzów integralności, komentarzy

Bardziej szczegółowo

Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych. Paweł Paduch paduch@tu.kielce.pl

Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych. Paweł Paduch paduch@tu.kielce.pl Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych Paweł Paduch paduch@tu.kielce.pl 06-04-2013 Rozdział 1 Wstęp Na dzisiejszych zajęciach zajmiemy się projektem bazy danych.

Bardziej szczegółowo

SQL (ang. Structured Query Language)

SQL (ang. Structured Query Language) SQL (ang. Structured Query Language) SELECT pobranie danych z bazy, INSERT umieszczenie danych w bazie, UPDATE zmiana danych, DELETE usunięcie danych z bazy. Rozkaz INSERT Rozkaz insert dodaje nowe wiersze

Bardziej szczegółowo

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie Programowanie MSQL show databases; - pokazanie jakie bazy danych są dostępne na koncie show databases; - wyświetlenie wszystkich baz danych na serwerze create database nazwa; - za nazwa wstawiamy wybraną

Bardziej szczegółowo

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Podstawy języka SQL. SQL Structured Query Languagestrukturalny Podstawy języka SQL SQL Structured Query Languagestrukturalny język zapytań DDL Język definicji danych (np. tworzenie tabel) DML Język manipulacji danych (np. tworzenie zapytań) DCL Język kontroli danych

Bardziej szczegółowo

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych Projektowanie bazy danych Jarosław Kuchta Projektowanie Aplikacji Internetowych Możliwości projektowe Relacyjna baza danych Obiektowa baza danych Relacyjno-obiektowa baza danych Inne rozwiązanie (np. XML)

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

E.14 Bazy Danych cz. 18 SQL Funkcje, procedury składowane i wyzwalacze

E.14 Bazy Danych cz. 18 SQL Funkcje, procedury składowane i wyzwalacze Funkcje użytkownika Tworzenie funkcji Usuwanie funkcji Procedury składowane Tworzenie procedur składowanych Usuwanie procedur składowanych Wyzwalacze Wyzwalacze a ograniczenia i procedury składowane Tworzenie

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

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Laboratorium nr 4. Temat: SQL część II. Polecenia DML Laboratorium nr 4 Temat: SQL część II Polecenia DML DML DML (Data Manipulation Language) słuŝy do wykonywania operacji na danych do ich umieszczania w bazie, kasowania, przeglądania, zmiany. NajwaŜniejsze

Bardziej szczegółowo

Microsoft SQL Server Podstawy T-SQL

Microsoft SQL Server Podstawy T-SQL Itzik Ben-Gan Microsoft SQL Server Podstawy T-SQL 2012 przełożył Leszek Biolik APN Promise, Warszawa 2012 Spis treści Przedmowa.... xiii Wprowadzenie... xv Podziękowania... xix 1 Podstawy zapytań i programowania

Bardziej szczegółowo

Ref. 7 - Język SQL - polecenia DDL i DML

Ref. 7 - Język SQL - polecenia DDL i DML Ref. 7 - Język SQL - polecenia DDL i DML Wprowadzenie do języka SQL. Polecenia generujące strukturę bazy danych: CREATE, ALTER i DROP. Polecenia: wprowadzające dane do bazy - INSERT, modyfikujące zawartość

Bardziej szczegółowo

Wykład 05 Bazy danych

Wykład 05 Bazy danych Wykład 05 Bazy danych Tabela składa się z: Kolumn Wierszy Wartości Nazwa Wartości Opis INT [UNSIGNED] -2^31..2^31-1 lub 0..2^32-1 Zwykłe liczby całkowite VARCHAR(n) n = długość [1-255] Łańcuch znaków o

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

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

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

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 4 Wsady Procedury składowane Procedury składowane tymczasowe, startowe Zmienne tabelowe Funkcje

Bardziej szczegółowo

Projektowanie systemów baz danych

Projektowanie systemów baz danych Projektowanie systemów baz danych Seweryn Dobrzelewski 4. Projektowanie DBMS 1 SQL SQL (ang. Structured Query Language) Język SQL jest strukturalnym językiem zapewniającym możliwość wydawania poleceń do

Bardziej szczegółowo

Założenia do ćwiczeń: SQL Server UWM Express Edition: 213.184.8.192\SQLEXPRESS. Zapoznaj się ze sposobami użycia narzędzia T SQL z wiersza poleceń.

Założenia do ćwiczeń: SQL Server UWM Express Edition: 213.184.8.192\SQLEXPRESS. Zapoznaj się ze sposobami użycia narzędzia T SQL z wiersza poleceń. Cel: polecenia T-SQL Założenia do ćwiczeń: SQL Server UWM Express Edition: 213.184.8.192\SQLEXPRESS Authentication: SQL Server Authentication Username: student01,, student21 Password: student01,., student21

Bardziej szczegółowo

1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) możemy określić do której grupy plików trafi

1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) możemy określić do której grupy plików trafi 1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) Tworząc tabelę nie możemy określić, do którego pliku trafi, lecz możemy określić do której grupy plików trafi Zawsze istnieje grupa zawierająca

Bardziej szczegółowo

Język DML. Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE

Język DML. Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE Język DML Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE Systemy Baz Danych, Hanna Kleban 1 INSERT Instrukcja INSERT dodawanie

Bardziej szczegółowo

Odnawialne Źródła Energii I rok. Tutorial PostgreSQL

Odnawialne Źródła Energii I rok. Tutorial PostgreSQL Tutorial PostgreSQL 1. Instalacja na własnym komputerze: a. Zainstaluj program ze strony: https://www.postgresql.org/download/ Wersja odpowiednia dla systemu operacyjnego Linux, Mac, Windows Przy pierwszym

Bardziej szczegółowo

Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/

Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Wprowadzenie Historia i standardy Podstawy relacyjności Typy danych DDL tabele, widoki, sekwencje zmiana struktury DML DQL Podstawy, złączenia,

Bardziej szczegółowo

SELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek

SELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek SELECT SELECT kolumna1, kolumna2,, kolumnan FROM tabela wybrane kolumny SELECT * FROM tabela wszystkie kolumny select * from Orders select CustomerID, CompanyName, Country from Customers WHERE SELECT *

Bardziej szczegółowo

Wykład 4. SQL praca z tabelami 1

Wykład 4. SQL praca z tabelami 1 Wykład 4 SQL praca z tabelami 1 Typy danych Typy liczbowe Typy całkowitoliczbowe Integer types - Typ INTEGER; 32-bitowa liczba ze znakiem z zakresu -2 31 do 2 31 1 - Typ SMALLINT; typ całkowity mniejszy

Bardziej szczegółowo

Bazy Danych i Usługi Sieciowe

Bazy Danych i Usługi Sieciowe Bazy Danych i Usługi Sieciowe Ćwiczenia I Paweł Daniluk Wydział Fizyki Jesień 2011 P. Daniluk (Wydział Fizyki) BDiUS ćw. I Jesień 2011 1 / 15 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_Danych_i_Usługi_Sieciowe_-_2011z

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

Przykładowa baza danych BIBLIOTEKA

Przykładowa baza danych BIBLIOTEKA Przykładowa baza danych BIBLIOTEKA 1. Opis problemu W ramach zajęć zostanie przedstawiony przykład prezentujący prosty system biblioteczny. System zawiera informację o czytelnikach oraz książkach dostępnych

Bardziej szczegółowo

Cele. Definiowanie wyzwalaczy

Cele. Definiowanie wyzwalaczy WYZWALACZE Definiowanie wyzwalaczy Cele Wyjaśnić cel istnienia wyzwalaczy Przedyskutować zalety wyzwalaczy Wymienić i opisać cztery typy wyzwalaczy wspieranych przez Adaptive Server Anywhere Opisać dwa

Bardziej szczegółowo

SQL DDL DML TECHNOLOGIE BAZ DANYCH. Wykład 5: Język DDL i DML. Małgorzata Krętowska

SQL DDL DML TECHNOLOGIE BAZ DANYCH. Wykład 5: Język DDL i DML. Małgorzata Krętowska SQL TECHNOLOGIE BAZ DANYCH Wykład 5: Język DDL i DML. SQL (ang. StructuredQueryLanguage) strukturalny język zapytań używany do tworzenia, modyfikowania relacyjnych baz danych oraz do umieszczania i pobierania

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

Tworzenie tabeli przez select CREATE TABLE PRAC2 AS SELECT P.NAZWISKO, Z.NAZWA FROM PRAC P NATURAL JOIN ZESP Z

Tworzenie tabeli przez select CREATE TABLE PRAC2 AS SELECT P.NAZWISKO, Z.NAZWA FROM PRAC P NATURAL JOIN ZESP Z Tworzenie tabeli Np. create table nazwa_tab( \\stworzenie tabeli Id numer(4) constraint PRAC_PK primary key, \\ustawiamy klucz podst. Nazwisko varchar2(30), \\typ tekstowy 30 znaków Kwota number(10,2)

Bardziej szczegółowo

Widok Connections po utworzeniu połączenia. Obszar roboczy

Widok Connections po utworzeniu połączenia. Obszar roboczy Środowisko pracy 1. Baza danych: Oracle 12c - Serwer ELARA - Konta studenckie, dostęp także spoza uczelni - Konfiguracja: https://e.piotrowska.po.opole.pl/index.php?option=conf 2. Środowisko: SQL Developer

Bardziej szczegółowo

Bazy danych i usługi sieciowe

Bazy danych i usługi sieciowe Bazy danych i usługi sieciowe Ćwiczenia I Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) BDiUS ćw. I Jesień 2014 1 / 16 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_danych_i_usługi_sieciowe_-_2014z

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, II Cel laboratorium

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

Wdrożenie modułu płatności eservice. dla systemu Zen Cart 1.3.9 1.5

Wdrożenie modułu płatności eservice. dla systemu Zen Cart 1.3.9 1.5 Wdrożenie modułu płatności eservice dla systemu Zen Cart 1.3.9 1.5 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie

Bardziej szczegółowo

Programowanie obiektów

Programowanie obiektów Programowanie obiektów lokalne tabele tymczasowe, globalne tabele tymczasowe, zmienne lokalne, zmienne globalne przypisane wartości zmiennym 1 T-SQL Transact SQL (T-SQL), tak jak inne języki programoawania

Bardziej szczegółowo

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych Języki programowania wysokiego poziomu PHP cz.4. Bazy danych PHP i bazy danych PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł

Bardziej szczegółowo

Bazy danych. Polecenia SQL

Bazy danych. Polecenia SQL Bazy danych Baza danych, to miejsce przechowywania danych. Dane w bazie danych są podzielone na tabele. Tabele składają się ze ściśle określonych pól i rekordów. Każde pole w rekordzie ma ściśle ustalony

Bardziej szczegółowo

41. Zmienne lokalne muszą mieć nazwę, którą poprzedza (maksymalnie 128 znaków) oraz typ (każdy z wyjątkiem: text, ntext oraz image)

41. Zmienne lokalne muszą mieć nazwę, którą poprzedza (maksymalnie 128 znaków) oraz typ (każdy z wyjątkiem: text, ntext oraz image) Elementy języka T-SQL 40. Polecenie PRINT jest wykorzystywane do przekazania wiadomości tekstowej (maksymalna długość 8000 znaków) Przykład PRINT 'Aktualna data: '+convert(char(8),getdate()) PRINT 'Aktualny

Bardziej szczegółowo

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Instytut Mechaniki i Inżynierii Obliczeniowej   Wydział Mechaniczny Technologiczny Politechnika Śląska Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Laboratorium 1 Wprowadzenie, podstawowe informacje o obsłudze

Bardziej szczegółowo

Bazy danych 10. SQL Widoki

Bazy danych 10. SQL Widoki Bazy danych 10. SQL Widoki P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 Widoki, AKA Perspektywy W SQL tabela, która utworzono za pomoca zapytania CREATE TABLE, nazywa się tabela

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

Oracle PL/SQL. Paweł Rajba.

Oracle PL/SQL. Paweł Rajba. Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 2 Kusory Wprowadzenie Kursory użytkownika Kursory domyślne Zmienne kursora Wyrażenia kursora - 2 - Wprowadzenie Co to jest kursor?

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

Przykład 3 Zdefiniuj w bazie danych hurtownia_nazwisko przykładową funkcję użytkownika fn_rok;

Przykład 3 Zdefiniuj w bazie danych hurtownia_nazwisko przykładową funkcję użytkownika fn_rok; Temat: Funkcje, procedury i wyzwalacze. Oprócz tabel i widoków w bazach danych możemy tworzyć własne funkcje, procedury i specjalny typ procedur, które będą automatycznie wywoływanie przez MySQL w memencie

Bardziej szczegółowo

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych Spis treści Wprowadzenie... ix Organizacja ksiąŝki... ix Od czego zacząć?... x Konwencje przyjęte w ksiąŝce... x Wymagania systemowe... xi Przykłady kodu... xii Konfiguracja SQL Server 2005 Express Edition...

Bardziej szczegółowo

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN Integralność danych Wersje języka SQL Klauzula SELECT i JOIN Robert A. Kłopotek r.klopotek@uksw.edu.pl Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW Integralność danych Aspekty integralności

Bardziej szczegółowo

Ćwiczenie zapytań języka bazy danych PostgreSQL

Ćwiczenie zapytań języka bazy danych PostgreSQL Ćwiczenie zapytań języka bazy danych PostgreSQL 1. Uruchom link w przeglądarce: http://127.0.0.1/phppgadmin 2. Kliknij w zaznaczony na czerwono link PostgreSQL: 3. Zaloguj się wpisując hasło i login student.

Bardziej szczegółowo

1. Sprawdzenie ustawień konfiguracyjnych. Uruchomienie wiersza poleceń:..\ścieżka\bin>mysqladmin variables

1. Sprawdzenie ustawień konfiguracyjnych. Uruchomienie wiersza poleceń:..\ścieżka\bin>mysqladmin variables MYSQL 1 1. Sprawdzenie ustawień konfiguracyjnych Uruchomienie wiersza poleceń:..\ścieżka\bin>mysqladmin variables 2 2. Wstępna konfiguracja Po zainstalowaniu aplikacji należy przed uruchomieniem wykonać

Bardziej szczegółowo

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x Wdrożenie modułu płatności eservice dla systemu oscommerce 2.3.x - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie

Bardziej szczegółowo

Dokumentacja interfejsu MySQL. Platforma BSMS.PL Instrukcja podłączenia po przez mysql

Dokumentacja interfejsu MySQL. Platforma BSMS.PL Instrukcja podłączenia po przez mysql Dokumentacja interfejsu MySQL Platforma BSMS.PL Instrukcja podłączenia po przez mysql Dokumentacja interfejsu mysql (strona 2) SPIS TREŚCI 1. Zawartość dokumentu str.3 2. Informacje ogólne 2.1 Zastosowanie

Bardziej szczegółowo

Bloki anonimowe w PL/SQL

Bloki anonimowe w PL/SQL Język PL/SQL PL/SQL to specjalny język proceduralny stosowany w bazach danych Oracle. Język ten stanowi rozszerzenie SQL o szereg instrukcji, znanych w proceduralnych językach programowania. Umożliwia

Bardziej szczegółowo

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, 2016 Spis treści Wprowadzenie Podziękowania xiii xvii 1 Podstawy zapytań i programowania T-SQL 1 Podstawy

Bardziej szczegółowo

Tuning SQL Server dla serwerów WWW

Tuning SQL Server dla serwerów WWW Tuning SQL Server dla serwerów WWW Prowadzący: Cezary Ołtuszyk Zapraszamy do współpracy! Plan szkolenia I. Wprowadzenie do tematu II. Nawiązywanie połączenia z SQL Server III. Parametryzacja i przygotowanie

Bardziej szczegółowo

Obiekty bazy danych DB2

Obiekty bazy danych DB2 Obiekty bazy danych DB2 Obiektem bazy danych DB2 jest każdy składnik bazy danych DB2, jak: schematy, tabele, widoki, indeksy, sekwencje, aliasy, wyzwalacze, funkcje użytkownika (UDF-y), procedury zapamiętane,

Bardziej szczegółowo

UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678');

UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678'); polecenie UPDATE służy do aktualizacji zawartości wierszy tabel lub perspektyw składnia: UPDATE { } SET { { = DEFAULT NULL}, {

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

Oracle11g: Wprowadzenie do SQL

Oracle11g: Wprowadzenie do SQL Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom

Bardziej szczegółowo

Bazy danych - Materiały do laboratoriów VIII

Bazy danych - Materiały do laboratoriów VIII Bazy danych - Materiały do laboratoriów VIII dr inż. Olga Siedlecka-Lamch Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska 23 kwietnia 2011 roku Polecenie COMMIT i ROLLBACK Polecenie

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

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

Instytut Mechaniki i Inżynierii Obliczeniowej  fb.com/groups/bazydanychmt/ Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl fb.com/groups/bazydanychmt/ Wydział Mechaniczny technologiczny Politechnika Śląska Laboratorium 4 (Asocjacje,

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

Język SQL. Rozdział 9. Język definiowania danych DDL, cześć 1. Tworzenie relacji, typy danych, wartości domyślne atrybutów, słownik bazy danych.

Język SQL. Rozdział 9. Język definiowania danych DDL, cześć 1. Tworzenie relacji, typy danych, wartości domyślne atrybutów, słownik bazy danych. Język SQL. Rozdział 9. Język definiowania danych DDL, cześć 1. Tworzenie relacji, typy danych, wartości domyślne atrybutów, słownik bazy danych. 1 polecenie CREATE TABLE CREATE TABLE nazwa_relacji Tworzenie

Bardziej szczegółowo

Nowe technologie baz danych

Nowe technologie baz danych Nowe technologie baz danych Partycjonowanie Partycjonowanie jest fizycznym podziałem danych pomiędzy różne pliki bazy danych Partycjonować można tabele i indeksy bazy danych Użytkownik bazy danych nie

Bardziej szczegółowo

Instrukcje DML INSERT, UPDATE, DELETE. COPY

Instrukcje DML INSERT, UPDATE, DELETE. COPY Wprowadzenie do DML i DDL 1 Bazy Danych Wykład p.t. Instrukcje DML INSERT, UPDATE, DELETE. COPY Antoni Ligęza ligeza@agh.edu.pl http://galaxy.uci.agh.edu.pl/~ligeza Wykorzystano materiały: http: //www.postgresql.org/docs/8.3/interactive/index.html

Bardziej szczegółowo

Wdrożenie modułu płatności eservice. dla systemu Magento 1.4 1.9

Wdrożenie modułu płatności eservice. dla systemu Magento 1.4 1.9 Wdrożenie modułu płatności eservice dla systemu Magento 1.4 1.9 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie do

Bardziej szczegółowo

Składowane procedury i funkcje

Składowane procedury i funkcje Składowane procedury i funkcje Procedury i funkcje są zestawem poleceń SQL, które są przechowywane na serwerze (tak jak dane w tablicach). Istnieją sytuacje, kiedy procedury i funkcje są szczególnie przydatne.

Bardziej szczegółowo