Instrukcja CREATE TABLE

Podobne dokumenty
Wykład 4. SQL praca z tabelami 1

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Autor: Joanna Karwowska

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Język SQL, zajęcia nr 1

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

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

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

Bazy danych 7. SQL podstawy

Wykład 2. SQL 1 Structured Query Lenguage

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

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

2 Przygotował: mgr inż. Maciej Lasota

SQL - DDL. 1 Tabele systemowe. 2 Typy danych

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

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.

Projektowanie Baz Danych GiG-2-KG Ćw. 5. Podstawy języka SQL

Typy Oracle atrybutów relacji Typ NUMBER (1)

Typy Oracle atrybutów relacji Typ NUMBER (1)

8.9. Język SQL Kwerenda wybierająca w języku SQL

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

Administracja i programowanie pod Microsoft SQL Server 2000

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

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

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

Wykład 05 Bazy danych

Tworzenie baz danych i tabel

Bazy danych 5. Samozłaczenie SQL podstawy

SQL w praktyce. Miłej i owocnej nauki!!!

Wykład 8. SQL praca z tabelami 5

Bazy danych Ćwiczenia projektowe

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Bazy danych. Dr inż. Paweł Kasprowski

Ćwiczenie 7 - DDL. Relacje i ograniczenia integralnościowe. Ćwiczenie 7 DDL. Wymagania: Bazy Danych

Aspekty aktywne baz danych

Bazy danych - Materiały do laboratoriów VIII

Po prawidłowym podłączeniu do serwera MySQL należy wybrać bazę, na której będziesz pracować:

Dr Michał Tanaś(

Bazy danych. Polecenia SQL

Bazy danych 4. SQL podstawy. P. F. Góra

Wykład 5. SQL praca z tabelami 2

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

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

Język baz danych SQL cz.1

SIECI KOMPUTEROWE I BAZY DANYCH

ACESS- zadania z wykorzystaniem poleceń SQL

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Projektowanie systemów baz danych

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

Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze

Tworzenie modelu logicznego i fizycznego danych.

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

Widok Connections po utworzeniu połączenia. Obszar roboczy

Aplikacje bazodanowe. Laboratorium 1. Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, / 37

Paweł Rajba

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

MySQL. Leksykon kieszonkowy. II wydanie

Podstawy języka SQL cz.1

SQL :: Data Definition Language

Kiedy i czy konieczne?

Bazy danych - wykład wstępny

WPROWADZENIE DO JĘZYKA SQL

Język SQL, zajęcia nr 2

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

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

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska

Fizyczna struktura bazy danych w SQL Serwerze

Podstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1

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

Lab.8: Podstawy języka SQL.

Paweł Cieśla. Dokumentacja projektu

Algorytmy i struktury danych. wykład 1

Relacyjne bazy danych

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

Bazy danych Ćwiczenia projektowe

Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki Instrukcja do zajęć laboratoryjnych

Bazy danych 2. Wykład 5 Structured Query Language (SQL) c.d. DDL

Przewale wszystko 1.0

Dokumentacja SQL API 1

Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u

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

Hurtownia Świętego Mikołaja projekt bazy danych

Krzysztof Kluza proste ćwiczenia z baz danych

Bazy danych SQL Server 2005

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

1. Połączenie z bazą danych. W wybranym edytorze tworzymy plik sqltest.py i umieszczamy w nim poniższy kod. #!/usr/bin/python3 import sqlite3

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

1 Projekt fizyczny 1. 3 Perspektywy słownika danych Źródła 12

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

Obiekty dowolnego typu, w tym bazy danych, możemy tworzyć instrukcją CREATE. Po czasowniku CREATE należy podać typ tworzonego obiektu i jego nazwę.

Java Podstawy. Michał Bereta

Tworzenie, modyfikowanie i usuwanie tabel

SIECI KOMPUTEROWE I BAZY DANYCH

E.14 Bazy Danych cz. 16 SQL Tworzenie, modyfikowanie i usuwanie tabel

Relacyjne bazy danych. Podstawy SQL

060 SQL FIZYCZNA STRUKTURA BAZY DANYCH. Prof. dr hab. Marek Wisła

Bazy danych 2. Wykład 3. Metodologia projektowania baz danych (projektowanie fizyczne)

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

Transkrypt:

Podstawy języka SQL 2 Instrukcja CREATE TABLE CREATE TABLE tabela (pole_1 typ [(rozmiar)] [NOT NULL] [indeks_1] [, pole_2 typ [(rozmiar)] [NOT NULL] [indeks_2] [,...]] [, CONSTRAINT indeks_wielopolowy [,...]]) Nowa tabela CREATE TABLE Pracownicy (Imie CHARACTER VARYING, Nazwisko CHARACTER VARYING); Nowa tabela+index CREATE TABLE Pracownicy2 (Imie CHARACTER VARYING, Nazwisko CHARACTER VARYING, DataUrodzenia DATETIME, CONSTRAINT Moj_index UNIQUE (Imie, Nazwisko, DataUrodzenia)); CREATE TABLE Pracownicy3 (Imie CHARACTER VARYING, Nazwisko CHARACTER VARYING, PESEL INTEGER CONSTRAINT MojKlucz PRIMARY KEY); Trochę bardziej rozbudowany przykład: CREATE TABLE firma ( id_firma COUNTER CONSTRAINT pierwotny PRIMARY KEY, czyfirma BIT," kod CHARACTER VARYING(10), NIP CHARACTER VARYING(13), dowod CHARACTER VARYING(9)," pesel CHARACTER VARYING(11), id_dokument LONG, doknumer character varying(14), nazwa1 CHARACTER VARYING(48), nazwa2 CHARACTER VARYING(48), status char(1), typ char(1), zakup CURRENCY, sprzedaz CURRENCY, naleznosci CURRENCY, zobowiazania CURRENCY, kodpocztowy CHARACTER VARYING(6), miasto CHARACTER VARYING(25), ulica CHARACTER VARYING(40), tel1 CHARACTER VARYING(20), telopis1 CHARACTER VARYING(20), tel2 CHARACTER VARYING(20),

2 telopis2 fax Character varying(20), CHARACTER VARYING(25), nrkonta CHARACTER VARYING(35), bank CHARACTER VARYING(50), czyzalegajacy BIT, czynieuczciwy BIT, id_kategoria LONG, uwagi memo, wybrany BOOLEAN, CONSTRAINT Firma_KategoriaKlienta FOREIGN KEY (Id_Kategoria) REFERENCES KategoriaKlienta (Id_KategoriaKlienta), CONSTRAINT Firma_dokument FOREIGN KEY (Id_dokument) REFERENCES _dokument (Id_dokument), CONSTRAINT unikalnynip UNIQUE (NIP), CONSTRAINT unikalnydowod UNIQUE (Dowod), CONSTRAINT unikalnypesel UNIQUE (pesel), CONSTRAINT unikalnykod UNIQUE (kod) ); BINARY CURRENCY DATETIME GUID SINGLE DOUBLE SHORT Typy Danych (MS SQL) 1 bajt, na znak 8 bajtów, Skalowana liczba całkowita z przedziału od 922 337 203 685 477,5808 do 922 337 203 685 477,5807. 8 bajtów, Wartość oznaczająca datę lub godzinę z przedziału lat od 100 do 9999. 128 bitów, Unikatowy numer identyfikacyjny stosowany podczas zdalnego wołania procedur. 4 bajty, Wartość zmiennoprzecinkowa pojedynczej precyzji z zakresu od 3,402823E38 do 1,401298E-45 dla wartości ujemnych, od 1,401298E-45 do 3,402823E38 dla wartości dodatnich oraz 0. 8 bajtów, Wartość zmiennoprzecinkowa podwójnej precyzji z zakresu od 1,79769313486232E308 do 4,94065645841247E-324 dla wartości ujemnych, od 4,94065645841247E-324 do 1,79769313486232E308 dla wartości dodatnich oraz 0. 2 bajty, Liczba całkowita krótka z przedziału od 32 768 do 32 767. LONG 4 bajty, Liczba całkowita długa z przedziału od 2 147 483 648 do 2 147 483 647. LONGCHARACTER VARYING 1 bajt na znak, Od zera do maksymalnie 1,2 gigabajta. LONGBINARY Według wymagań, Od zera do maksymalnie 1,2 gigabajta. CHARACTER VARYING 1 bajt na znak, Od zera do 255 znaków.

3 Typy Danych (MS SQL a ANSI SQL) ANSI SQL MS SQL SYNONIM BIT, BIT VARYING BINARY VARBINARY BIT BOOLEAN, LOGICAL, LOGICAL1, YESNO BYTE INTEGER1 COUNTER AUTOINCREMENT CURRENCY MONEY DATE, TIME, TIMESTAMP DATETIME DATE, TIME, TIMESTAMP GUID DECIMAL REAL SINGLE FLOAT4, IEEESINGLE, REAL DOUBLE PRECISION, DOUBLE FLOAT FLOAT, FLOAT8, IEEEDOUBLE, NUMBER, NUMERIC SMALLINT SHORT INTEGER2, SMALLINT INTEGER LONG INT, INTEGER, INTEGER4 INTERVAL LONGBINARY GENERAL, OLEOBJECT LONGCHARACTER LONGCHAR, MEMO, NOTE VARYING CHARACTER, CHARACTER VARYING CHARACTER VARYING VALUE ALPHANUMERIC, CHAR, CHARACTER, STRING, VARCHAR Instrukcja Alter Table ALTER TABLE tabela {ADD {COLUMN typ_pola[(rozmiar)] [NOT NULL] [CONSTRAINT indeks] CONSTRAINT indeks_wielopolowy} DROP {COLUMN pole I CONSTRAINT nazwa_indeksu} }

4 Za pomocą instrukcji ALTER TABLE można zmienić istniejącą tabelę na kilka sposobów: Klauzula ADD COLUMN powoduje dodanie nowego pola do tabeli. Należy określić nazwę pola, typ danych oraz opcjonalnie rozmiar (dla pół tekstowych i binarnych). Klauzula ADD CONSTRAINT powoduje dodanie indeksu wielopolowego.. Klauzula DROP COLUMN powoduje usunięcie pola. W tym celu należy określić jedynie nazwę pola. Klauzula DROP CONSTRAINT powoduje usunięcie indeksu wielopolowego. W tym celu należy po słowie zastrzeżonym CONSTRAINT określić jedynie nazwę indeksu. ALTER TABLE Pracownicy ADD COLUMN Pensja CURRENCY; ALTER TABLE Pracownicy DROP COLUMN Nadgodziny; ALTER TABLE Zamowienia ADD CONSTRAINT ZamowieniaPracownicy FOREIGN KEY (PracownikID) REFERENCES Pracownicy (PracownikID); ALTER TABLE Zamowienia DROP CONSTRAINT ZamowieniaPracownicy; Instrukcja CONSTRAINT Ograniczenie dla pojedynczego pola: CONSTRAINT nazwa {PRIMARY KEY UNIQUE NOT NULL REFERENCES tabela_obca [(pole_obce_1, pole_obce_2)]} Ograniczenie dla wielu pól: CONSTRAINT nazwa {PRIMARY KEY (podstawowe_1[, podstawowe_2 [,...]]) UNIQUE (unikatowe_1[, unikatowe_2 [,...]]) NOT NULL (niepuste_1[, niepuste_2 [,...]]) FOREIGN KEY (odesłanie_1[, odesłanie_2 [,...]]) REFERENCES tabela_obca [(pole_obce_1[, pole_obce_2 [,...]])]} nazwa podstawowe_1, podstawowe_2 unikatowe_1, unikatowe_2 niepuste_1, niepuste_2 Nazwa tworzonego ograniczenia. Nazwa pola lub pól, które mają składać się na klucz podstawowy. Nazwa pola lub pól, które mają składać się na klucz unikatowy. Nazwa pola lub pól, których wartości muszą być różne od Null.

5 odesłanie_1, odesłanie_2 tabela_obca pole_obce_1, pole_obce_2 Nazwa pola lub pól klucza obcego, czyli wskazujących na pola w innej tabeli. Nazwa tabeli obcej zawierającej pole lub pola określone przez argumenty pole_obce. Nazwa pola lub pól z tabeli tabela_obca określone przez odesłanie_1, odesłanie_2. Ta klauzula może być pominięta, jeśli wskazywane pole jest kluczem podstawowym w tabeli tabela_obca. ograniczenia dla pojedynczego pola w klauzuli definiującej pole w instrukcji ALTER TABLE lub CREATE TABLE występuje zaraz po specyfikacji typu danych pola. ograniczenia dla wielu pól jest używana wtedy, gdy słowo zastrzeżone CONSTRAINT występuje poza klauzulą definicji pola w instrukcji ALTER TABLE lub CREATE TABLE. Za pomocą klauzuli CONSTRAINT można określić dla pola następujące typy ograniczenia: Za pomocą słowa zastrzeżonego UNIQUE można określić pole jako klucz unikatowy. Oznacza to, że żadne dwa rekordy w tabeli nie mogą mieć w tym polu takiej samej wartości. Jako unikatowe można określić dowolne pole lub listę pól. Jeśli w jednym ograniczeniu wiele pól jest określonych jako klucz unikatowy, unikatowe muszą być wartości tych pól traktowane jako całość, natomiast w pojedynczych polach wartości mogą się powtarzać. Za pomocą zastrzeżonego słowa PRIMARY KEY można określić pojedyncze pole lub zbiór pól w tabeli jako klucz podstawowy. Wszystkie wartości klucza podstawowego muszą być unikatowe i mieć wartości różne od Null, a tabela może zawierać tylko jeden klucz podstawowy. Za pomocą słów zastrzeżonych FOREIGN KEY można określić pola jako klucz obcy. Jeśli klucz podstawowy tabeli obcej składa się z więcej niż jednego pola, należy użyć definicji ograniczenia dla wielu pól, wymieniając wszystkie wskazujące pola, nazwę tabeli obcej oraz nazwy wskazywanych pól w tabeli obcej w tej samej kolejności, co pola wskazujące. Jeśli wskazywane pole lub pola są kluczami podstawowymi tabeli obcej, to nie jest konieczne określenie wskazywanych pól domyślnie, aparat bazy danych działa tak, jakby pola klucza podstawowego tabeli obcej były polami wskazywanymi. Instrukcja CREATE INDEX CREATE [ UNIQUE ] INDEX indeks ON tabela (pole [ASC DESC][, pole [ASC DESC],...]) [WITH { PRIMARY DISALLOW NULL IGNORE NULL }] Aby zapobiec występowaniu powtarzających się wartości w polu lub polach indeksowanych, należy użyć słowa zastrzeżonego UNIQUE. Posługując się opcjonalną klauzulą WITH, można określić reguły poprawności danych. Stosując opcję DISALLOW NULL, można zapobiec występowaniu wartości Null w polu lub polach indeksowanych nowych rekordów.

6 Stosując opcję IGNORE NULL, można zapobiec dołączaniu do indeksu rekordów zawierających w polu lub polach indeksowanych wartości Null. Dodając słowo zastrzeżone PRIMARY, można określić indeksowane pole lub pola jako klucz podstawowy. Pociąga to za sobą unikatowość, tak więc można wówczas pominąć słowo zastrzeżone UNIQUE. CREATE INDEX NowyIndex ON Pracownicy (telefon, kodpocztowy); CREATE UNIQUE INDEX KlieciID ON Klienci (KlienciID) WITH DISALLOW NULL; CREATE UNIQUE INDEX ZamowienieID ON SzczegolyZamowieniaODBC (ZamowienieID); Instrukcja DROP DROP {TABLE tabela INDEX indeks ON tabela} tabela Nazwa tabeli, która ma być usunięta, lub też tabeli, z której ma być usunięty indeks. indeks Nazwa indeksu, który ma być usunięty z tabeli. DROP INDEX MojIndex ON Pracownicy; DROP TABLE stazysci;