Typy danych Mysql i atrybuty.
Numeric Types – numeryczne
Dla każdego z poniższych typów numerycznych podaj zakres i zajmowaną pamięć.
- TINYINT 1 BAJT // 0 – 255
- BOOL 4 BAJTY // TRUE lub FALSE
- SMALLINT 2 BAJTY // -32768 to +32767
- MEDIUMINT 3 BAJTY // -8,388,608 do 8,388,607
- INT 4 BAJTY // -2^31 do 2^31-1
- BIGINT 8 BAJTÓW // -2^63 do 2^63-1
- FLOAT 1-24 – 4 BAJTY, 25-53 – 8 BAJTÓW // – 1.79E+308 do -2.23E-308 i 2.23E-308 do 1.79E+308
- DOUBLE 8 BAJTÓW // od -1,7 * E-308 do 1,7 * E308
- DECIMAL 1-9 – 5 BAJTÓW, 10-19 – 9 BAJTÓW, 20-28 – 13 BAJTÓW, 29-38 – 17 BAJTÓW
- NUMERIC // 1-9 – 5 BAJTÓW, 10-19 – 9 BAJTÓW, 20-28 – 13 BAJTÓW, 29-38 – 17 BAJTÓW
Date and Time Types – typu daty i czasu
Dla każdego z poniższych typów numerycznych podaj zakres, format i zajmowaną pamięć.
- DATE 3 BAJTY // Data w formacie YYYY-MM-DD
- DATETIME 8 BAJTÓW // Data w formacie YYYY-MM-DD HH:MM:SS
- TIMESTAMP 4 BAJTY // Data w formacie YYYYMMDDHHMMSS; do roku 2037
- TIME 3 BAJTY // Data w formacie HH:MM:SS
String Types – napisy
Dla każdego z poniższych typów numerycznych podaj zakres i zajmowaną pamięć.
- CHAR [x] x- BAJTÓW // od 0 do 255 znaków
- VARCHAR [x] x-BAJTÓW + 1 // pole tekstowe o zmiennej długości
- BINARY [x] x bajtów // 0 – 255
- VARBINARY [x] x bajtów // 0 – 65535
- TINYBLOB [x] x+1 // 0-255
- TINYTEXT 1 BAJT // od -128 do 127 lub liczby dodatnie od 0 do 255
- BLOB x+2 BAJTY // 0 – 65535 bajtów
- TEXT długość łańcucha +2 BAJTY // maxymalna długość 65535
- MEDIUMBLOB x+3 BAJTY // 0 – 16777215
- MEDIUMTEXT x znaków + 3 bajty // 0 – 16777215
- LONGBLOB x+4 bajtów // 0 – 4294967295
- LONGTEXT 0 – 4294967295 // X znaków + 4 bajtu
- ENUM 1-2 bajty // 1 – 65 535
2. Jaka jest różnica pomiędzy VAR i VARCHAR?
Różnica pomiędzy VARCHAR a CHAR jest taka, iż CHAR rezeruje zawsze miejsce okreslone w wielkości.
Dla przykładu CHAR(10) zawsze będzie rezerwowało 10 bajtów. Nawet jak ciąg będzie krótszy to będzie zajmował 10 bajtów. ‚ABC ‚
Dla Varchar(10) będzie to ‚ABC’. Jak zatem widać Varchar bedzie optymalniejszy dla „normalnych” rozwiazań.
3. Jaka jest różnica pomiędzy BOOL, BOOLEAN i TINYINT(1)?
BOOL i BOOLEAN przyjmują wartości tylko True lub False. 4. Co to jest NULL i do czego służy?
NULL występuje w przypadku stwierdzenia brakującej wartości w polu tabeli.
5. Do czego służy atrybut UNSIGNED i SIGNED?
Atrybut UNSIGNED to inaczej atrybut bez znaku i obejmuje tylko liczby dodatnie. Atrybut SIGNED (domyślny) pozwala zapisywać również liczby ujemne.
6. Do czego służy atrybut ZEROFILL?
Atrybut ZEROFILL sprawia, że wszystkie liczby w danym polu/kolumnie/tabeli zostaną poprzedzone zerami.
7. Do czego służy atrybut AUTO_INCREMENT i w których typach danych może być stosowany?
AUTO_INCREMENT służy do generowania unikalnej wartości dla nowych wierszy (tzw. kluczy)
BOOL i BOOLEAN przyjmują wartości tylko True lub False. 4. Co to jest NULL i do czego służy?
NULL występuje w przypadku stwierdzenia brakującej wartości w polu tabeli.
5. Do czego służy atrybut UNSIGNED i SIGNED?
Atrybut UNSIGNED to inaczej atrybut bez znaku i obejmuje tylko liczby dodatnie. Atrybut SIGNED (domyślny) pozwala zapisywać również liczby ujemne.
6. Do czego służy atrybut ZEROFILL?
Atrybut ZEROFILL sprawia, że wszystkie liczby w danym polu/kolumnie/tabeli zostaną poprzedzone zerami.
7. Do czego służy atrybut AUTO_INCREMENT i w których typach danych może być stosowany?
AUTO_INCREMENT służy do generowania unikalnej wartości dla nowych wierszy (tzw. kluczy)
8. Dobierz odpowiednie typy danych do tabel zawierającej różne
dane. Postaraj się, aby Twoja tabela zajmowała możliwie mało pamięci.
Pracownicy:
- numer [unikalny, automatyczny] – TINYINT NOT NULL AUTO_INCREMENT
- imię – VARCHAR(20)
- nazwisko – VARCHAR(25)
- wiek – TINYINT
- data urodzenia – DATE
- miejsce zamieszkania – VARCHAR
- PESEL – TINYINT
- płeć – BOOL
- adres email – CHAR(30)
Produkty:
- id – TINYINT
- nazwa – VARCHAR(20)
- cena – UNSIGNED SMALLINT
- stawka VAT – UNSIGNED TINYINT
- data produkcji – DATE
- data ważności – DATETIME
Firma:
- nazwa firmy – VARCHAR(30)
- krótki opis firmy (tekst) – TEXT
- logo firmy (obrazek zapisany w bazie) – BLOB
- historia firmy (tekst) – MEDIUMTEXT
- współrzędne GPS – DOUBLE PRECISION
Kontrola dostępu pracowników do stref ograniczonych firmy:
- numer pracownika – UNSIGNED TINYINT
- jeden z poziomów dostepu – biały, zielony, żółty lub czerwony –ENUM(‘biały’, ‘zielony’, ‘żółty’, ‘czerwony’)
- dostęp do pokoi o numerach od 1 do 50 – pracownik ma dostęp do pokoju lub nie ma dostępu –


















