Wykład 4. SQL praca z tabelami 1

Podobne dokumenty
Autor: Joanna Karwowska

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

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

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

Wykład 5. SQL praca z tabelami 2

Instrukcja CREATE TABLE

MySQL. Darmowa baza danych. Æwiczenia praktyczne

Bazy danych 7. SQL podstawy

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

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

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

Wykład 2. SQL 1 Structured Query Lenguage

Projektowanie systemów baz danych

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Język SQL, zajęcia nr 1

Wykład 6. SQL praca z tabelami 3

Bazy danych 5. Samozłaczenie SQL podstawy

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

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

Wykład 8. SQL praca z tabelami 5

Typy Oracle atrybutów relacji Typ NUMBER (1)

Typy Oracle atrybutów relacji Typ NUMBER (1)

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

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

SQL - DDL. 1 Tabele systemowe. 2 Typy danych

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

Języki programowania wysokiego poziomu. PHP cz.4. 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.

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

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

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

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

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

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

Bazy danych Ćwiczenia projektowe

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

Administracja i programowanie pod Microsoft SQL Server 2000

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

Bazy danych - Materiały do laboratoriów VIII

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

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

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

Podstawy języka SQL cz.1

kończy wysyłanie danych do pliku tworzy strukturę tabeli wyświetla opis struktury tabeli zmiana nazwy tabeli usuwanie tabeli

Bazy danych. Dr inż. Paweł Kasprowski

Dr Michał Tanaś(

Bazy danych. Polecenia SQL

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Wykład :45 BD-1 W_3

Aspekty aktywne baz danych

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

Język baz danych SQL cz.1

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

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

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

SIECI KOMPUTEROWE I BAZY DANYCH

Wykład IV Modelowanie danych, projektowanie systemu informatycznego Modelowanie konceptualne implementacyjne Modelowanie pojęciowe na encjach

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

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

Instalacja MySQL.

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

PODSTAWY BAZ DANYCH Wykład Partycjonowanie tabel i indeksów

Tworzenie baz danych i tabel

Wykład 05 Bazy danych

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

Paweł Rajba

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

Programowanie w Ruby

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

Relacyjne bazy danych. Podstawy SQL

Tworzenie modelu logicznego i fizycznego danych.

MySQL. Leksykon kieszonkowy. II wydanie

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

Bazy danych 4. SQL- podstawy

Widok Connections po utworzeniu połączenia. Obszar roboczy

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

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Przedmowa Rozpoczęcie pracy z bazą danych Microsoft SQL Server Podstawowe instrukcje języka SQL...39

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

Programowanie w Ruby

Relacyjne bazy danych. Podstawy SQL

Bazy danych - wykład wstępny

PODSTAWY BAZ DANYCH. 10. Partycjonowanie tabel i indeksów. 2009/ Notatki do wykładu "Podstawy baz danych"

MySQL. Leksykon kieszonkowy

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

PRZYKŁAD. Prosta uczelnia. Autor: Jan Kowalski nr indeksu: (przykładowy projekt)

2 Przygotował: mgr inż. Maciej Lasota

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

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

MS SQL Język definiowania danych (DDL): ćwiczenia

Komunikacja z bazą danych psql

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

Bazy Danych i Usługi Sieciowe

SIECI KOMPUTEROWE I BAZY DANYCH

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

Bazy danych 10. SQL Widoki

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Tabela wewnętrzna - definicja

P o d s t a w y j ę z y k a S Q L

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

Transkrypt:

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 niż INTEGER; liczba 16-bitowa - Typ BIGINT; ; typ całkowity wiekszy niż INTEGER; liczba 64-bitowa Typy zmiennoprzecinkowe rzeczywiste - Typ REAL - Typ DOUBLE PRECISION - Typ FLOAT Typ DOUBLE PRECISION umożliwia przedstawienie większego zakresu niż REAL. W zależności od wersji języka SQL umożliwiają również podanie precyzji np. FLOAT5

Typy danych Typy liczbowe Typy dla liczb z częścią dziesiętną - Typ NUMERIC - Typ DECIMAL Pozwalają na reprezentowanie liczb zawierających część dziesiętną np. 11.4, 152.581 Oba typy pozwalają na określenie precyzji całkowitą liczbę cyfr i opcjonalnie skali liczbę cyfr po separatorze dziesiętnym np. NUMERIC5 pozwala zapisać liczby 111.11, 22.222, 2.2222, NUMERIC5,2 pozwala zapisać liczby 333.33, 5.55, 66.66

Typy danych Typy daty i czasu Typ DATA; opisuje datę Typ TIME; opisuje czas Typ TIMESTAMP; opisuje datę i czas

Typy danych Typy łańcuchowe Typy służące do przechowywanie łańcuchów znakowych, czyli tekstów. Typ CHARACTER skrót CHAR Typ CHARACTER VARYING skrót VARCHAR Typ CLOB Wymagają podania długości łańcucha: CHAR długość, VARCHARdługość. Dla CHAR cała kolumna w bazie danych będzie miała długość wskazaną parametrem długość krótsze łańcuchy są uzupełniane spacjami. Jest stosowany gdy kolumny mają ustaloną liczbę znaków. Dla VARCHAR wiersze mają różną długość zależnie od ilości znaków w łańcuchach.

Typy danych Typ null Jest to typ specjalny. Wartość null jest wartością pustą i oznacza brak wartości. Pola tabeli nie zawierające wartości są właśnie null. Przykładowo: Osoby OsobaId Imię Nazwisko Data urodzenia 1 Jan Kowalski 1995-01-01 2 Piotr Nowak 1994-11-03 3 Ewa Jabłońska null 4 Andrzej Wiśniewski 1994-04-08

Tworzenie tabel Do tworzenia tabel służy instrukcja CREATE TABLE postaci: CREATE TABLE nazwa_tabeli nazwa_kolumny_1 typ_kolumny_1 [atrybuty], nazwa_kolumny_2 typ_kolumny_2 [atrybuty],.. Nazewnictwo tabel i kolumn jest w zasadzie dowolne choć najlepiej pisać małymi literami łacińskimi. Przykłady: CREATE TABLE klient CREATE TABLE test CREATE TABLE test2 id INTEGER, id INTEGER, dataczas TIMESTAMP, nazwa VARCHAR20 wartosc DOUBLE PRECISION wartosc DECIMAL6,3

Tworzenie tabel atrybuty kolumn Najczęściej spotykane atrybuty kolumn to PRIMARY KEY, NOT NULL, DEFAULT, UNIQUE, AUTO_INCREMENT. Atrybut PRIMARY KEY oznacza, że kolumna będzie kluczem podstawowym. Kolumny z tym atrybutem są automatycznie indeksowane oraz unikatowe o różnych wartościach. CREATE TABLE nazwa_tabeli nazwa_kolumny typ_kolumny PRIMARY KEY, definicje pozostałych kolumn

Tworzenie tabel atrybuty kolumn Atrybut PRIMARY KEY przykład 1: CREATE TABLE test id INTEGER PRIMARY KEY, nazwa VARCHAR20 W przypadku gdy klucz podstawowy ma się składać z więcej niż jednej kolumny, jego definicja wygląda inaczej: CREATE TABLE nazwa_tabeli nazwa_kolumny_1 typ_kolumny_1 [atrybuty], nazwa_kolumny_2 typ_kolumny_2 [atrybuty],.. nazwa_kolumny_n typ_kolumny_n [atrybuty], PRIMARY KEY kolumna_x, kolumna_y,., kolumna_z

Tworzenie tabel - atrybuty kolumn Atrybut PRIMARY KEY przykład 2: CREATE TABLE test id INTEGER, nazwa VARCHAR20, PRIMARY KEYid, nazwa

Tworzenie tabel atrybuty kolumn Atrybut NOT NULL oznacza, że w danej kolumnie nie mogą znajdować się wartości puste, czyli każdy wiersz w kolumnie musi zawierać jakąś wartość. W takiej sytuacji próba zapisania wartości pustej kończy się niepowodzeniem. Przykład: CREATE TABLE test id INTEGER, nazwa VARCHAR20 NOT NULL

Tworzenie tabel atrybuty kolumn Atrybut DEFAULT wykorzystujemy wówczas, gdy chcemy aby w kolumnie w której nie podano wartości pojawiała się przypisana wartość domyślna default value. Definicja kolumny wygląda wówczas: nazwa_kolumny typ_kolumny [atrybuty] DEFAULT wartość_domyślna Przykład: CREATE TABLE test id INTEGER, nazwa VARCHAR20 DEFAULT brak

Tworzenie tabel atrybuty kolumn Przy projektowaniu tabel należy zwracać uwagę aby wartości jednej lub kilku kolumn były unikatowe czyli niepowtarzalne. Aby serwer nie pozwalał na wprowadzanie do kolumny duplikatów danych stosujemy atrybut UNIQUE. Definicja kolumny wygląda wówczas: nazwa_kolumny typ_kolumny [atrybuty] UNIQUE Przykład: CREATE TABLE test id INTEGER, nazwa VARCHAR20 UNIQUE

Tworzenie tabel atrybuty kolumn Czasem chcemy, aby wartości wybranej kolumny automatycznie zwiększały swoją wartość podczas wprowadzania każdego nowego wiersza danych. Najczęściej dotyczy to kolumn zawierających identyfikatory wierszy często klucze główne. Definicja kolumny wygląda wówczas: nazwa_kolumny typ_kolumny [atrybuty] AUTO _INCREMENT Przykład: CREATE TABLE test id INTEGER PRIMARY KEY AUTO_INCREMENT, nazwa VARCHAR20

Tworzenie tabel indeksy Indeksowanie kolumny oznacza, że wewnątrz bazy powstanie specjalna struktura porządkująca dane w kolumnie, co przyspiesza wiele operacji, takich jak sortowanie czy przeszukiwanie. Indeks może dotyczyć jednej lub wielu kolumn. Instrukcja tworzenia indeksu: CREATE [UNIQUE] INDEX nazwa_ind ON nazwa_tabeli kolumny skł. Przykłady: CREATE INDEX id_ind on testid CREATE INDEX imie_ind ON test imie CREATE INDEX nazw_ind ON test nazwisko

Tworzenie tabel indeksy Możliwe jest również MySQL definiowanie indeksu podczas tworzenia tabeli : CREATE TABLE nazwa_tabeli definicje kolumn, INDEX nazwa_indeksu_1 kolumna_x, kolumna_y, kolumna_z,. INDEX nazwa_indeksu_n kolumna_x, kolumna_y, kolumna_z, Przykład: CREATE TABLE test id INTEGER, imie VARCHAR20, nazwisko VARCHAR30, INDEX ind_imie imie, INDEX ind_nazwisko nazwisko

Tworzenie tabel indeksy Usunięcie indeksu zapewnia instrukcja DROP INDEX o postaci: DROP INDEX nazwa_indeksu ON nazwa_tabeli Przykłady: DROP INDEX id_ind ON test DROP INDEX imie_ind ON test DROP INDEX nazwisko_ind ON test DROP INDEX indeks1 ON test

Modyfikacja tabel Strukturę istniejącej tabeli można modyfikować za pomocą polecenia ALTER TABLE : ALTER TABLE nazwa_tabeli zmiana Zmiana to ciąg będący poleceniem do wykonania. Można w ten sposób dodawać/usuwać kolumny, modyfikować typy i nazwy kolumn, dodawać/usuwać indeksy. Najczęściej spotykane polecenia Zmiana: ADD COLUMN definicja_kolumny dodanie nowej kolumny DROP COLUMN nazwa usuwa kolumnę nazwa ADD CONSTRAINT symbol PRIMARY KEY kolumna1, kolumna2,, kolumnan dodanie do tabeli klucza podstawowego DROP PRIMARY KEY usuwa klucz podstawowy ALTER COLUMN nazwa SET NOT NULL-ustawia atrybut NOT NULL dla kolumny nazwa ALTER COLUMN nazwa SET DEFAULT -ustawia wartość domyślną dla kol nazwa ALTER COLUMN nazwa DROP NOT NULL-usuwa atrybut NOT NULL z kolumny nazwa ALTER COLUMN nazwa DROP DEFAULT-usuwa wartość domyślną z kolumny nazwa RENAME COLUMN stara_nazwa TO nowa_nazwa zmienia nazwe kolumny RENAME TO nowa_nazwa zmienia nazwe tabeli

Modyfikacja tabel/usuwanie tabel Modyfikacja tabel. Przykłady: ALTER TABLE osoby DROP PRIMARY KEY ALTER TABLE osoby ADD COLUMN pesel VARCHAR11 ALTER TABLE osoby ALTER COLUMN imie SET DEFAULT nieznane ALTER TABLE osoby ALTER COLUMN imie DROP DEFAULT ALTER TABLE osoby MODIFY COLUMN nazwisko VARCHAR30 NOT FULL Usunięcie tabeli następuje poprzez polecenie DROP TABLE: DROP TABLE tabela1, tabela2,, tabelan usuwanie tabel