Warsztaty Android, studenckie koło naukowe ISA 2
|
|
- Sabina Kazimiera Maciejewska
- 8 lat temu
- Przeglądów:
Transkrypt
1 Warsztaty Android, studenckie koło naukowe ISA 2 Artur Zochniak, Jan Kołaciński, Paweł Szczerbicki, Piotr Maćkowiak, Arkadiusz Szydełko, Łukasz Pijet pod merytoryczną opieką Pawła Kapały (Tieto), 2 czerwca 2011r
2 Plan prezentacji: 1. Co to jest SQLite i czym się różni od innych systemów baz danych 2. Tworzenie struktury baz danych, typy danych i DDL 3. Zapytania SQL 4. Android & SQLite, kursory 5. ListActivity 6. Adaptery
3 Co to jest SQLite i czym się róŝni od innych systemów baz danych Co to jest SQLite: System zarządzania bazą danych oraz biblioteka C implementująca taki system, obsługująca język SQL (ang. Structured Query Language). Biblioteka implementuje standard SQL, daje możliwość używania bazy danych bez konieczności uruchamiania osobnego procesu RDBMS. Bazy danych zapisywane są jako pliki binarne. Istnieje projekt oferujący szyfrowanie baz danych SQlite na bieżąco.
4 Co to jest SQLite i czym się róŝni od innych systemów baz danych Relacyjna baza danych baza danych skonstruowana z tabel (relacji), wyraźnie oddzielonych zbiorów, rodzaj DBMS (system zarządzania danymi), przechowująca informacje w postaci powiązanych tabeli. Źródło:
5 Co to jest SQLite i czym się róŝni od innych systemów baz danych ACID - opis warunków, jakie powinny spełniać transakcje (zbiór operacji), w bazach danych. ACID jest skrótem od angielskich słów: atomicity - atomowość, consistency - spójność, isolation - izolacja, durability - trwałość. SQLite udostępnia transakcje ACID oraz implementuje większość standardu SQL 92 (strukturalny język zapytań używany do tworzenia, modyfikowania, oraz umieszczania i pobierania danych z bazy danych).
6 Co to jest SQLite i czym się róŝni od innych systemów baz danych Firmy wspierające rozwój SQLite
7 Co to jest SQLite i czym się róŝni od innych systemów baz danych Mozilla Firefox - w bazach danych przechowywane są profile użytkowników Android - przechowywanie danych użytkownika Avast! Antivir baza wirusów Mac OS X - od wersji 10.4 (Tiger), warstwa przechowywania danych dla Core Data API Trac - zintegrowany system zarządzania projektami, używa domyślnie SQLite do przechowywania danych Mozy - kopie zapasowych w trybie online, przechowywuje dane konfiguracyjne, ustawienia kopii, stanu danych itp.
8 Co to jest SQLite i czym się róŝni od innych systemów baz danych Zalety: rozmiar: około 300 kb, skompilowana i działająca biblioteka. brak dodatkowego procesu zarządzającego relacyjną bazą danych implementuje większość standardu SQL92 cała baza danych w jednym pliku (do 2TB), niezwykle prosta w utrzymaniu zapewnia transakcyjność (ACID) dostępna na licencji Open Source, kod źródłowy dostępny w całości 1000 identycznych zapytań SELECT * FROM tabela: SQLite sek. SQLite (Memory) sek. MySQL (MyISAM) sek. MySQL (InnoDB) sek. MySQL (Memory) sek. Źródło:
9 Tworzenie struktury bazy danych Artur Zochniak
10 Terminal bazy danych w Android SDK Dostęp do terminala bazy danych moŝna uzyskać uruchamiając: android-sdk-windows\tools\sqlite3 baza.db np. aby utworzyć bazę w pliku baza.db, sqlite3 baza.db
11 Terminal bazy danych SQLite3, tworzenie tabeli tworzymy bazę poleceniem: sqlite3 baza.db Jeśli zaszłaby potrzeba opuszczenia terminala, wystarczy wpisać exit poprzedzone kropką (dot-command):.exit baza jest pusta moŝna to sprawdzić komendą sqlite3 baza.db SELECT * FROM SQLITE_MASTER; SQLITE_MASTER to specjalna nazwa tabeli, do której odwołanie zwraca w wyniku tabele w bazie lub poleceniem-z-kropką w terminalu SQLite.tables tworzenie pierwszej tabeli: CREATE TABLE tabela(id INTEGER PRIMARY KEY, kol1 VARCHAR(10), kol2 SMALLINT);
12 SQLite3 wypisywanie tabel w bazie Wykonanie polecenia SELECT * FROM SQLITE_MASTER; zwróci informację o istniejącej juŝ tabeli, aby wypisywać dane w takiej postaci naleŝy wywołać:.mode line
13 SQLite3 operacje na tabelach Usunięcie tabeli: DROP TABLE nazwa_tabeli; Zmiana nazwy tabeli: sqlite>.tables tabela sqlite> ALTER TABLE tabela RENAME TO tbl; sqlite>.tables tbl
14 SQLite3 operacje na tabelach Zmiana nazwy kolumny w tabeli: SQLite3 nie pozwala na bezpośrednią zmianę nazwy kolumny, aby to uzyskać naleŝy stworzyć nową tabelę z nową strukturą, a następnie wypełnić nową tabelę danymi ze starej. CREATE TABLE bohaterowie (bohater VARCHAR(10)); INSERT INTO bohaterowie VALUES ('d''arc Joanna'); INSERT INTO bohaterowie (bohater) VALUES ('William'); CREATE TEMPORARY table kobiety (imie VARCHAR(10)); INSERT INTO kobiety SELECT bohater FROM bohaterowie WHERE bohater LIKE "%a"; DROP TABLE bohaterowie; --usuwamy tabelę SELECT * FROM kobiety;
15 SQLite3 dodawanie rekordów do tabeli wykonanie poleceń: CREATE TABLE tbl (sentence VARCHAR(10), pts INT NULL DEFAULT 0); INSERT INTO tbl VALUES ('hello!',10); INSERT INTO tbl (pts, sentence) VALUES (20, 'goodbye');.mode column SELECT * FROM tbl; doda do tabeli 2 rekordy
16 Podstawowe typy danych w bazie SQLite NULL - Pusta (niezdefiniowana) wartość, INTEGER - Liczba całkowita (ze znakiem) przechowywana na od 1 do 8 bajtów (w zaleŝności od potrzeby), REAL - Liczba zmiennoprzecinkowa przechowywana na 8 bajtach (notacja IEEE floating point number), TEXT - Tekst kodowany przy pomocy UTF-8, UTF-16BE lub UTF-16LE, BLOB - (ang. kropelka, kleks, akronim Binary Large Object) Dane przechowywane w postaci binarnej (tak jak pliki na dysku).
17 Typy danych SQLite, c.d. Boolean liczba całkowita (INTEGER), 0 (fałsz), 1 (prawda), Data moŝe być przechowywana jako: TEXT w konwencji ISO8601 ("YYYY-MM-DD HH:MM:SS.SSS"), REAL jako ilość dni (wraz z częścią ułamkową) kalendarza Juliańskiego (w którym średnia długość roku to 367,25 dni), które upłynęły od północy w Greenwich, 24. października 4714p.n.e. (w kalendarzu Gregoriańskim), INTEGER - czas Unix Time, ilość sekund, które upłynęły od północy 1. stycznia 1970, :00:00 UTC (Coordinated Universal Time, Greenwich Mean Time).
18 Pokrewieństwo typów (type affinity) SQLite nie zmusza nas do definiowania jakiego typu dane będą przechowywane w danej kolumnie, jednak w celu zwiększenia kompatybilności z innymi bazami danych, moŝemy skłonić bazę, aby przechowywała dane w pewnej kolumnie uŝywając określonej grupy typów, jest 5 rodzin typów, które moŝemy nadać kolumnom: TEXT (tekstowy, zaliczamy doń równieŝ dane binarne), NUMERIC (numeryczny), INTEGER (całkowity), REAL (zmiennoprzecinkowy), NONE (dowolny; niezdefiniowany), jeśli zdefiniujemy typ danych w kolumnie, a następnie spróbujemy dodać inny typ danych, to, jeśli istnieje rozsądny sposób przekonwertowania dodawanej wartości do typu kolumny, konwersja zostanie wykonana.
19 Reguły pokrewieństw typów 1. Jeśli typ zawiera w nazwie INT, to zostaje przydzielony do rodziny INTEGER, 2. jeśli typ kolumny zawiera podciąg jednego z ciągów: "CHAR" lub "CLOB" lub "TEXT" to kolumna ta będzie z rodziny TEXT. NaleŜy zauwaŝyć, Ŝe VARCHAR zawiera "CHAR" i dlatego jest typu TEXT, 3. jeśli kolumna zawiera podciąg znaków "BLOB" lub nie ma zdefiniowanego typu, to zostaje ona przyporządkowana do rodziny typów NONE, 4. jeśli typ kolumny zawiera podciąg "REAL" lub "FLOA" lub "DOUB", to jest ona pokrewna z REAL, 5. w kaŝdym innym wypadku typ afiniczny to NUMERIC.
20 Typy danych w SQLite Nazwa typu danych uŝyteczna w poleceniu CREATE TABLE Pokrewieństwo typu, resulting affinity reguła przydzielania pokrewieństwa typu INT INTEGER TINYINT SMALLINT MEDIUMINT CHARACTER(20) VARCHAR(255) VARYING CHARACTER(255) NCHAR(55) BIGINT UNSIGNED BIG INT INT2 INT8 NATIVE CHARACTER(70) NVARCHAR(100) TEXT CLOB INTEGER 1 TEXT 2 BLOB lub nie sprecyzowano typu REAL DOUBLE NUMERIC DECIMAL(10,5) BOOLEAN DOUBLE PRECISION FLOAT DATE DATETIME NONE 3 REAL 4 NUMERIC 5
21 Przykłady przynaleŝności do pokrewieństwa typów CREATE TABLE t1( t TEXT, -- text affinity by rule 2 nu NUMERIC, -- numeric affinity by rule 5 i INTEGER, -- integer affinity by rule 1 r REAL, -- real affinity by rule 4 no BLOB -- no affinity by rule 3 ); do kaŝdego z pól wpisujemy tę samą wartość, jednak w rezultacie są one odpowiednio zamienione, niezaleŝnie jaki typ jest podany w definicji tabeli jeśli nie będzie odpowiedniej konwersji do typu kolumny, zostanie dodana do tabeli wartość typu dodawanego. dodanie rekordu ('500.0', '500.0', '500.0', '500.0', '500.0') spowoduje, Ŝe w bazie zostaną zapisane (text)500.0, (int)500, (int)500, (real)500.0, (text)500.0
22 Pliki baz danych i ich lokalizacja w systemie Android Jan Kołaciński
23 Lokalizacja plików baz danych Baza danych naszej aplikacji znajduje się na androidzie w katalogu: /data/data/nazwa.pakietu/databases/
24 Nazwa bazy danych Nazwa bazy danych będzie równocześnie nazwą pliku, który system Android przechowuje w folderze: /data/data/<nazwa_aplikacji>/databases/
25 SQLite SELECT INSERT DELETE UPDATE Paweł Szczerbicki
26 Zapytanie SELECT Jedno z najbardziej rozbudowanych zapytań w SQLite Zwraca dane z tabeli, bądź tabel (join) w wielu róŝnych konfiguracjach Wyniki mogą być odpowiednio filtrowane Przykładowe zapytanie SELECT (kolejność) SELECT DISCTINCT (*) FROM studenci WHERE wydzial='eka' OR imie='pawel'; SELECT pole1,pole2.. FROM nazwa_tabeli WHERE warunki;
27 Zapytanie SELECT Aliasy są uŝywane do nadawania kolumnom i tabelom opcjonalnej przy wyświetlaniu i edytowaniu SELECT imie_id AS 'imię' FROM tabela t WHERE t.imie LIKE 'A%' ; SELECT imie_id 'imię' FROM tabela WHERE imie LIKE 'A%' ;
28 Zapytanie SELECT Zapytanie agregujące(aggregate query) np: SELECT COUNT(*) AS "ilosc" FROM tabela WHERE imie LIKE 'A%' ; Zwracają podsumowanie tabeli np. liczą elementy, średnią itd.
29 Zapytanie SELECT Zapytanie nieagregujące(non-aggregate query) SELECT name "imię", postcode "kod" FROM tabela WHERE name='adam'; Zwraca wiersze bądź całą tabele danych
30 Zapytanie SELECT WHERE, ORDER BY: najpierw przetwarzane jest WHERE, wiersze dla których da ono wartość FALSE wyłączane są z przetwarzania SELECT last_name '"nazwisko", employee_id "numer pracownika" FROM employees WHERE employee_id BETWEEN 110 AND 120 ORDER BY employee_id DESC;
31 Zapytanie SELECT GROUP BY, agregacja: GROUP BY tworzy grupy danych o tych samych atrybutach i wyświetla je razem bez powtórzeń SELECT department_id "numer departamentu", COUNT(*) "ilosc pracownikow" FROM employees GROUP BY department_id ORDER BY "ilosc pracownikow" DESC;
32 Zapytanie SELECT SELECT department_id "numer departamentu", MIN(salary) "minimalna wyplata", MAX (salary) "maksymalna wyplata" FROM employees WHERE salary>7000 GROUP BY department_id ORDER BY department_id; Funkcja agregując bez GROUP BY zawsze zwróci jeden wiersz danych nawet gdy nie ma danych wejściowych
33 Zapytanie SELECT Wyświetlanie danych z kilku tabel (join) Bez JOIN (dane z dwóch tabel) SELECT d.department_name, l.city FROM departments d, locations l WHERE d.location_id=l.location;
34 Zapytanie SELECT JOIN ON ( dane z kilku tabel ) SELECT d.department_name, l.city FROM departments d JOIN locations l ON d.location_id=l.location_id; JOIN USING ( dane z kilku tabel ) SELECT department_name, city FROM departments JOIN locations USING (location_id);
35 Zapytanie SELECT NATURAL JOIN te same nazwy kolumn (ukryty using) SELECT department_name, city FROM departments NATURAL JOIN locations;
36 Zapytanie SELECT HAVING: Pozwala na przefiltrowanie wyników zgrupowanych klauzurą GROUP BY w zapytaniach agregujących. Schemat ogólny: SELECT department_id, COUNT(*) FROM employees WHERE department_id>20 GROUP BY department_id HAVING COUNT(*) > 5; SELECT pole1,.. FROM tabela WHERE warunki GROUP BY pole[x] HAVING kryteria_grupowania
37 Zapytanie SELECT Zapytania zagnieŝdŝone: Wewnętrzne zapytanie SELECT jest źródłem danych dla zewnętrznego SELECT EXISTS czy istnieje co najmniej jeden departament o mniejszym ID niŝ podany SELECT department_name FROM departments WHERE department_id > EXISTS (SELECT department_id FROM departments WHERE department_name='finance' LIMIT 1);
38 Kolejność działań SELECT department_id "numer departamentu", MIN(salary) "minimalna wyplata", MAX (salary) "maksymalna wyplata" FROM employees WHERE salary>7000 GROUP BY department_id ORDER BY department_id HAVING MAX(salary)>2000 LIMIT 5;
39 Zapytanie DELETE SłuŜy do usuwania danych z tabel Usuwa wiersze wg podanych warunków Schemat ogólny: DELETE FROM table_name WHERE some_column=some_value;
40 Zapytanie DELETE Trigger to funkcja, która jest uruchamiany w momencie wykonania pewnej akcji na bazie danych. Zawiera ona szereg instrukcji lub zapytań, które mają zostać wykonane po lub przed wywołaniem danej akcji. DELETE w triggerze moŝe być wykonane tylko dla tabeli do której został przypisany trigger
41 Zapytanie DELETE DELETE i WHERE DELETE FROM departments WHERE department_name='eka'; DELETE i LIMIT DELETE FROM departments ORDER BY department_id DESC LIMIT 10;
42 Zapytanie DELETE Optymalizacja usuwania całej tabeli, bez przeglądania wierszy: nie działają triggery ale za to usuwanie jest szybsze Problem z liczenie usuniętych wierszy rozwiązany w wersji 3.6.5
43 Zapytanie INSERT Tworzy nowy wiersz tabeli i wraz z wartościami : Unikalny klucz główny Wypełnione pola NOT NULL Schemat ogólny INSERT INTO table_name (column1, column2, column3,...) VALUES (value1, value2, value3,...)
44 Zapytanie INSERT INSERT bez INTO: MoŜliwe jest wykonanie zapytania bez nazw kolumn w INTO. Wtedy dane zostaną wprowadzone po kolei do kolumn. W VALUES pierwsza z lewej ląduje w pierwszej kolumnie INSERT INTO departments VALUES (322, London, );
45 Zapytanie INSERT INSERT i SELECT INSERT INTO employees (id, number, department) SELECT id, number, department FROM employees WHERE department_id = 222;
46 Zapytanie INSERT INSERT OR REPLACE: Dodaje lub zamienia wartości jeŝeli klucz główny się powtarza INSERT OR REPLACE INTO departments(department_id,city,number) VALUES (322, London, ); INSERT w triggerze: Wykorzystywany jest do aktualizacji tabel. JeŜeli np. zostanie zwolniony pracownik (usunięty wiersz w tabeli) INSERT uŝyty w triggerze moŝe go przenieść do innej tabeli np. tabela zwolnień
47 Zapytanie UPDATE Wykonujemy je gdy jakieś rekordy są nieaktualne lub po prostu źle wpisane Schemat ogólny UPDATE table_name SET column1=value, column2=value2,... WHERE some_column=some_value
48 Zapytanie UPDATE JeŜeli w UPDATE brakuje WHERE wszystkie wiersze zostaną zmodyfikowane UPDATE w triggerach moŝe się odnosić jedynie do tabeli dla której trigger został stworzony W triggerach nie stosujemy LIMIT i ORDER BY LIMIT tak jak w DELETE
49 Zapytanie UPDATE Przykład: UPDATE departments SET department_name='studentki' WHERE department_name='studenci';
50 UNION UNION łączy wyniki wielu zapytań JOIN łączył kolumny tabel UNION łączy wiersze SELECT id, name FROM employees UNION SELECT department_id FROM departments;
51 Dobre praktyki Pisanie zapytań wielkimi literami (SELECT, INSERT) KaŜde zapytanie w nowej linijce (WHERE, SELECT, FROM)
52 Android - SQLite kursory Piotr Maćkowiak
53 Tworzenie Bazy public class DatabaseAdapter { } Następnie klasę naleŝy rozbudować o odpowiednie zmienne: private static final String DB_NAME = "database.db"; private static final String DB_TABLE = "anytable"; NaleŜy równieŝ dodać pole z wersją bazy private static final int DB_VERSION = 1; System wykorzystuje tą zmienną by sprawdzić, czy aplikacja posiada aktualną strukturę bazy danych.
54 Tworzenie Bazy Kolejnym etapem jest utworzenie pól odpowiadającym kolumnom naszej tabeli w bazie danych. public static final String KEY_ID = "_id" id"; public static final String ID_OPTIONS = "INTEGER PRIMARY KEY AUTOINCREMENT"; public static final String KEY_COUNTRY = "country"; "; public static final String COUNTRY_OPTIONS = "TEXT NOT NULL"; public static final String KEY_SHORTCUT = "shortcut"; public static final String SHORTCUT_OPTION = "TEXT NOT NULL"; tabela ma trzy kolumny _id, country i shortcut. Pole z łańcuchem znaków odpowiedzialnych za stworzenie tabeli. private static final String DB_CREATE = "create" table " + DB_TABLE + " (" + KEY_ID + " " + ID_OPTIONS + ", " + KEY_COUNTRY + " " + COUNTRY_OPTIONS + ", " + KEY_SHORTCUT + " " + SHORTCUT_OPTION + ");";
55 Tworzenie Bazy private SQLiteDatabase db; //- zmienna do przechowywania bazy danych private final Context context; //- kontekst aplikacji korzystającej z bazy private DatabaseHelper mydatabasehelper; //- helper do otwierania i aktualizacji bazy Ostatnie pole mydatabasehelper jest obiektem klasy dziedziczącej po klasie SQLiteHelper. SQLiteHelper jest klasą abstrakcyjną dostarczającą metody do tworzenia oraz aktualizacji bazy, jeszcze zanim zostanie ona otwarta.
56 Tworzenie Bazy private static class DatabaseHelper extends SQLiteOpenHelper { public DatabaseHelper(Context context, String name, CursorFactory factory, int version) {super(context, name, factory, public void oncreate(sqlitedatabase _db) { _db.execsql(db_create db.execsql(db_create); public void onupgrade(sqlitedatabase _db, int oldver, int newver) { _db.execsql("drop TABLE IF EXISTS " + DB_TABLE); oncreate(_db); Log.w("ListView DatabaseAdapter","Aktualizacja bazy z wersji " + oldver + " do " + newver + ". Wszystkie dane zostaną utracone."); } }
57 Tworzenie Bazy Na koniec, w klasie DatabaseAdapter a dopisujemy konstruktor oraz dwie metody: open() i close(): //Konstruktor public DatabaseAdapter(Context _context) { context = _context; mydatabasehelper = new DatabaseHelper(_context, DB_NAME, null, DB_VERSION); } //Otwieramy połączenie z bazą danych public DatabaseAdapter open() { db = mydatabasehelper.getwritabledatabase(); return this; } //Zamykamy połączenie z bazą danych public void close(){ db.close(); } Pozostaje tylko dodać dwie linijki do głównego activity: mydbadapter.open(); //TODO: Operacje na bazie mydbadapter.close();
58 Operacje na bazie danych Metody słuŝące do operacji na bazie danych: insert (String table, String nullcolumnhack, ContentValues values) update (String table, ContentValues values, String whereclause,, String[] whereargs) delete (String table, String whereclause,, String[] whereargs) ContentValues jest klasą Android SDK, która została przygotowana specjalnie by słuŝyć do dodawania nowych wierszy w naszej bazie.
59 Dodawanie Nowej Wartości public long insertcountry(country _country) { } //Tworzymy obiekt nowego "wiersza" ContentValues newcountryvalues = new ContentValues(); //Wypełniamy wszystkie pola wiersza newcountryvalues.put(key_country, _country.getcountryname()); newcountryvalues.put(key_shortcut, _country.getcountryshortcut()); //Wstawiamy wiersz do bazy return db.insert(db_table, null, newcountryvalues);
60 Aktualizacja danych w wierszu public boolean updatecountry (long _index, Country _country) { } //Warunek wstawiany do klauzuli WHERE String where = KEY_ID + "=" + _index; //Tak samo jak przy metodzie insert ContentValues updatecountryvalues = new ContentValues(); updatecountryvalues.put(key_country, _country.getcountryname()); updatecountryvalues.put(key_shortcut, _country.getcountryshortcut()); //Aktualizujemy dane wiersza zgodnego ze zmienną where return db.update (DB_TABLE, updatecountryvalues, where, null) > 0;
61 Usuwanie danych public boolean deletecountry (long _index) { String where = KEY_ID + "=" + _index; return db.delete (DB_TABLE, where, null) > 0; } public void deleteall () { db.delete (DB_TABLE, "1", null); }
62 Kursory Cursor jest klasą, której obiekty w systemie Android reprezentują wyniki zwracane przez zapytania do bazy danych. Posiada ona kilka metod, które bardzo ułatwiają nawigację po zwróconych wierszach. movetofirst() - przesuwa kursor na pierwszy wiersz zwróconego wyniku movetonext() - przesuwa kursor na następny wiersz wyniku, movetoprevious() - j.w. - na poprzedni, movetoposition() - przesuwa kursor na zadaną pozycję getposition() - zwraca aktualną pozycję obiektu Cursor
63 Kursory Android dostarcza równieŝ metody do zarządzania kursorem startmanagingcursor() - integruje czas Ŝycia kursora z czasem Ŝycia aktywności w której się znajduje. Dzięki temu kiedy Aktywność zostanie wstrzymana, automatycznie wywołana zostaje metoda deactivate(), a gdy wznowiona - requery(). stopmanagingcursor() - deintegruje czas Ŝycia kursora z czasem Ŝycia aktywności.
64 Kursor Przykład public Cursor fetchnote(long rowid) throws SQLException { } Cursor mcursor = mdb.query(true, DATABASE_TABLE, new String[] {KEY_ROWID, KEY_TITLE, KEY_BODY}, KEY_ROWID + "=" + rowid, null, null, null, null, null); if (mcursor!= null) { mcursor.movetofirst(); } return mcursor;
65 Kursor Przykład private void updatecountrieslist() { countriescursor.requery(); countries.clear(); } if(countriescursor.movetofirst()) { do { String country = countriescursor.getstring(databaseadapter.country_column); String shortcut = countriescursor.getstring(databaseadapter.shortcut_column; Country newcountry = new Country(country, shortcut); countries.add(newcountry); } while (countriescursor.movetonext()); }
66 ListActivity Arkadiusz Szydełko
67 ListActivity Specjalna klasa stworzona do wyświetlania listy elementów UmoŜliwia oprogramowanie akcji związanych z elementami listy Lista elementów do tablicy pobierana jest z tablicy bądź kursora.
68 Oprogramowanie zdarzenia: Aby oprogramować zdarzenie wybrania elementu listy przez użytkownika należy nadpisać metodę onlistitemclick(). Przykład:
69 Tworzenie widoku: ListActivity zapewnia nam kilka standardowych widoków listy np.: simple_list_item_1 simple_list_item_2 two_line_list_item Zdefiniowane są w klasie android.r.layout
70 Przesyłanie danych do widoku: Dane do domyślnego widoku moŝna wysyłać w OnCreate(), za pomocą metody setlistadapter(), przesyłającej dane z kursora do widoku. Przykład: this.setlistadapter(new ArrayAdapter<String>( this, android.r.layout.simple_list_item_1, Tablica_nazw) );
71 Tworząc własny widok przy pomocy ListView naleŝy zdefiniować odpowiednie id.
72 Tworzenie widoku: Innym sposobem na stworzenie własnego widoku jest określenie elementów i układu wiersza tworząc własny layout. Np. Stworzyć LinearLayout, a w nim za pomocą TextView określić układ elementów w wierszu.
73 Tworzenie widoku: Tworzymy własny layout, w którym określamy jak ma wyglądać wiersz:
74 Tworzenie widoku: Za pomocą klasy SimpleCursorAdapter przesyłamy dane do naszego widoku.
75 Przesyłanie danych: Aby przesłać połączyć dane z listą do dyspozycji są dwa standardowe listy adapterów: SimpleCursorAdapter dla wyników zapytań przechowywanych w kursorze. SimpleAdapter dla statycznych danych takich jak tablice bądź Maps s.
76 Android Adaptery Łukasz Pijet
77 Adapter w teorii Adapter (równieŝ Wrapper) wzorzec projektowy pozwalający na zmianę interfejsu obiektu. a w praktyce: Intefejsy Adapter oraz BaseAdapter we frameworku androida są klasami bazowymi dla adapterów, mających pośredniczyć pomiędzy widgetami (List,Spinner) a obiektami danych.
78 Dostępne klasy adapter Wśród juŝ zaimplementowanych klas moŝemy znaleźć: a) ArrayAdapter przetwarza dane zawarte w dowolnej liście ( obiekty implementujące interfejs List ) oraz tablice. b) (Simple)CursorAdapter przetwarza dane zawarte w obiekcie Cursor. c) SimpleAdapter przetwarza dane podobnie jak ArrayAdapter. Jeden wiersz danych odpowiada jednemu wierszowi na liście.
79 Proste Adaptery i ViewBinder Klasy SimpleAdapter i SimpleCursorAdapter posiadają wewnętrzny interfejs ViewBinder z metodą setviewvalue(); Jako argumenty przyjmuje widok, obiekt danych i nr wiersza. Metoda w prosty sposób pozwala na niestandardowe przypisywanie danych do widoku.
80 Metoda getview() Wywoływana jest dla kaŝdego elementu listy. Numer ostatniego elementu pobierany jest z metody getcount(). Funkcja zwraca obiekt typu View widok który odpowiada pojedynczemu wierszowi listy. Budowany jest na podstawie layotów zawartych w plikach XML aplikacji. PrzeciąŜając ją, moŝna dowolnie rozbudować listę np.: nadając wierszom inny wygląd, wstawiając wiele elementów do wiersza listy.
81 Metoda getview() - Przykład public View getview(int pozycja, View convertview, ViewGroup parent) { View wynik = null; LayoutInflater minflater; // Pobieramy standardową instancje obiektu LayoutInflater //(w ten sposób jest ona juŝ przygotowana) minflater = (LayoutInflater) getsystemservice(context.layout_inflater_service); if( position % 2 == 0 ) { // Za pomocą LayoutInflater a tworzymy obiekt View na podstawie plików XML // znajdujących się w katalogu res/layout wynik = minflater.inflate( R.layout.widok_1, null ); // Pobieramy obiekt przypisany do zadanego ID. W naszym przypadku jest to TextView. // Nadajemy mu odpowiedni tekst TextView tekst = (TextView) wynik.findviewbyid( R.id.tekst_1 ); tekst.settext( getitem( pozycja ) ); } else { wynik= minflater.inflate( R.layout.widok_2, null ); TextView tekst = (TextView) wynik.findviewbyid( R.id.tekst_2 ); tekst.settext( getitem( pozycja ) ); } // Zwracamy obiekt View pobrany z LayoutInflater return wynik; }
82 ? Pytania?
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
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ść
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
Programowanie urządzeń mobilnych. dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusza Mikody
Programowanie urządzeń mobilnych dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusza Mikody SharedPreferences Umożliwia przechowywanie małej ilości danych typów podstawowych Dane są przechowywane
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.
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
DATA STORAGE. wprowadzenie Michał Mynarski. środa, 26 października 11
DATA STORAGE wprowadzenie Michał Mynarski środa, 26 października 11 DZISIAJ OPOWIEMY O TYM, JAK PRZECHOWYWAĆ DANE Shared Preferences Internal Storage External Storage SQLite Datebases Network Connection
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ść
akademia androida Składowanie danych część VI
akademia androida Składowanie danych część VI agenda 1. SharedPreferences. 2. Pamięć wewnętrzna i karta SD. 3. Pliki w katalogach /res/raw i /res/xml. 4. Baza danych SQLite. 5. Zadanie. 1. SharedPreferences.
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.
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
Ć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
Oracle PL/SQL. Paweł Rajba.
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 8 Wprowadzenie Definiowanie typu obiektowego Porównywanie obiektów Tabele z obiektami Operacje DML na obiektach Dziedziczenie -
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ł
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
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
Bazy danych 7. SQL podstawy
Bazy danych 7. SQL podstawy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 Structured Query Language Używane standardy: SQL92 SQL99 SQL:2003 Żaden dostawca nie jest w pełni zgodny
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
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
Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8
Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8 Bazowy skrypt PHP do ćwiczeń z bazą MySQL: Utwórz skrypt o nazwie cw7.php zawierający następującą treść (uzupełniając go o właściwą nazwę uŝytkownika
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,
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ą
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
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
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
Programowanie w języku Java. Bazy danych SQLite w Javie
Programowanie w języku Java Bazy danych SQLite w Javie Co to jest SQLite SQLite to bezserwerowa, nie wymagająca konfiguracji relacyjna baza danych. Znajduje szerokie zastosowanie np.. w systemie android
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
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
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
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,
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
cur.executescript(""" DROP TABLE IF EXISTS uczen; CREATE TABLE IF NOT EXISTS uczen ( Uniwersytet Technologiczno-Przyrodniczy im. J.J. Śniadeckich w Bydgoszczy Instrukcja do ćwiczeń laboratoryjnych Przedmiot
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ść
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
Bazy danych 5. Samozłaczenie SQL podstawy
Bazy danych 5. Samozłaczenie SQL podstawy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2007/08 Przykład kolejowy Tworzymy bazę danych zawierajac a (uproszczony) rozkład jazdy pociagów
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
Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas)
Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas) Bazy danych podstawowe pojęcia Baza danych jest to zbiór danych zorganizowany zgodnie ze ściśle określonym modelem danych. Model danych to zbiór ścisłych
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
w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze
w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze Cechy bloków nazwanych: w postaci skompilowanej trwale przechowywane na serwerze wraz z danymi wykonywane na żądanie użytkownika lub w
NARZĘDZIA WIZUALIZACJI
Kurs interaktywnej komunikacji wizualnej NARZĘDZIA WIZUALIZACJI Andrzej Łachwa andrzej.lachwa@uj.edu.pl 3 4/8 Zobacz film: http://www.ted.com/talks/david_mccandless_the_beauty_of_dat a_visualization.html
Autor: Joanna Karwowska
Autor: Joanna Karwowska Wygodniejszym i wydajniejszym sposobem przechowywania i korzystania z dużej ilości danych zapisanych na serwerze jest współpraca z relacyjną bazą danych. 2 1. Utworzyć bazę danych.
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)
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
CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Zestaw ćwiczeń1 Dzięki DDL (Data Definition Language) można operować na strukturach, w których dane są przechowywane czyli np. dodawać, zmieniać i kasować tabele lub bazy. Najważniejsze polecenia tej grupy
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
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
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ę,
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
Po prawidłowym podłączeniu do serwera MySQL należy wybrać bazę, na której będziesz pracować:
Język SQL (Structured Query Language} służy do manipulowania danymi umieszczonymi w relacyjnych bazach danych. Jest językiem uniwersalnym, dzięki czemu praca na różnych systemach baz danych sprowadza się
Podstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1
Podstawy języka SQL standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi Bazy danych s.5-1 Język SQL SQL (ang. Structured Query Language, strukturalny język zapytań) język
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
Administracja bazami danych
Administracja bazami danych dr inż. Grzegorz Michalski Na podstawie wykładów dra inż. Juliusza Mikody Klient tekstowy mysql Program mysql jest prostym programem uruchamianym w konsoli shell do obsługi
P o d s t a w y j ę z y k a S Q L
P o d s t a w y j ę z y k a S Q L Adam Cakudis IFP UAM Użytkownicy System informatyczny Aplikacja Aplikacja Aplikacja System bazy danych System zarządzania baz ą danych Schemat Baza danych K o n c e p
Język SQL, zajęcia nr 2
Język SQL, zajęcia nr 2 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 Funkcja agregująca
D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?
D D L S Q L Co to jest DDL SQL i jakie s jego ą podstawowe polecenia? D D L S Q L - p o d s t a w y DDL SQL (Data Definition Language) Jest to zbiór instrukcji i definicji danych, którym posługujemy się
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
Kowalski Marcin 156439 Wrocław, dn. 3.06.2009 Jaśkiewicz Kamil 148592. Bazy Danych 1 Podstawy Projekt Temat: Baza danych do zarządzania projektami
Kowalski Marcin 156439 Wrocław, dn. 3.06.2009 Jaśkiewicz Kamil 148592 Bazy Danych 1 Podstawy Projekt Temat: Baza danych do zarządzania projektami Spis treści Założenia Projektowe...1 Schemat Bazy Danych...1
Systemy internetowe. Wykład 4 mysql. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science
Systemy internetowe Wykład 4 mysql MySQL - wstęp SZBD: komercyjne: Microsoft SQL Server, Oracle, DB2... darmowe: MySQL, PostgreSQL, Firebird... MySQL darmowy (użytek niekomercyjny) Wady: niska wydajność
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
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
Instalacja MySQL. http://dev.mysql.com/downloads/mysql/5.0.html#downloads
Instalacja MySQL Baza MySQL tworzona jest przez Szwedzką firmę MySQL AB strona domowa projektu to: www.mysql.com Wersję bezpłatną (różniącą się od komercyjnej brakiem wsparcia technicznego, nośnika i podręcznika)
Instrukcja CREATE TABLE
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
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
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
Wykład 6. SQL praca z tabelami 3
Wykład 6 SQL praca z tabelami 3 Łączenie wyników zapytań Język SQL zawiera mechanizmy pozwalające na łączenie wyników kilku pytań. Pozwalają na to instrukcje UNION, INTERSECT, EXCEPT o postaci: zapytanie1
SQL/MySQL. Rafał Kern
SQL/MySQL Rafał Kern 1 SQL (Structured Query Language) Deklaratywny - opisujemy warunki, jakie musi spełniać wynik Służy do zarządzania danymi w relacyjnych bazach danych Składnia/zapytania SQL DML (Data
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
Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa. Studia Podyplomowe dla Nauczycieli
Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa Studia Podyplomowe dla Nauczycieli Bazy danych SQL Języki baz danych Interfejs DBMS składa się
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 *
SIECI KOMPUTEROWE I BAZY DANYCH
KATEDRA MECHANIKI I ROBOTYKI STOSOWANEJ WYDZIAŁ BUDOWY MASZYN I LOTNICTWA, POLITECHNIKA RZESZOWSKA SIECI KOMPUTEROWE I BAZY DANYCH Laboratorium DB1, DB2: TEMAT: Wprowadzenie do SQL. Praca z pojedyncza
1. Tworzenie tabeli. 2. Umieszczanie danych w tabeli
1. Tworzenie tabeli Aby stworzyć tabele w SQL-u należy użyć polecenia CREATE TABLE nazwa_tabeli (nazwa_pola1 właściwości_pola1, nazwa_pola2 właściwości_pola2, itd.) Nazwa_tabeli to wybrana przez nas nazwa
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
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.;
Przestrzenne bazy danych Podstawy języka SQL
Przestrzenne bazy danych Podstawy języka SQL Stanisława Porzycka-Strzelczyk porzycka@agh.edu.pl home.agh.edu.pl/~porzycka Konsultacje: wtorek godzina 16-17, p. 350 A (budynek A0) 1 SQL Język SQL (ang.structured
Bazy danych 4. SQL podstawy. P. F. Góra
Bazy danych 4. SQL podstawy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 Structured Query Language Używane standardy: SQL92 SQL99 SQL:2003 SQL:2006 (dialekt) SQL:2008 (dialekt) SQL:2011 (dialekt)
SQL - DDL. 1 Tabele systemowe. 2 Typy danych
SQL - DDL DDL (ang. data definition language) jest częścią języka zapytań SQL obejmująca tworzenie i zarządzanie (modyfikację, usuwanie i przydzielanie uprawnień) obiektami w bazie danych (tabelami, perspektywami,
Bazy danych - wykład wstępny
Bazy danych - wykład wstępny Wykład: baza danych, modele, hierarchiczny, sieciowy, relacyjny, obiektowy, schemat logiczny, tabela, kwerenda, SQL, rekord, krotka, pole, atrybut, klucz podstawowy, relacja,
KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów
KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów SQL3 wprowadza następujące kolekcje: zbiory ( SETS ) - zestaw elementów bez powtórzeń, kolejność nieistotna listy ( LISTS ) - zestaw
Wprowadzenie do JDBC z wykorzystaniem bazy H2
Wprowadzenie do JDBC z wykorzystaniem bazy H2 JDBC (ang. Java DataBase Connectivity). Biblioteka stanowiąca interfejs umożliwiający aplikacjom napisanym w języku Java porozumiewać się z bazami danych za
Wykład 2. SQL 1 Structured Query Lenguage
Wykład 2 SQL 1 Structured Query Lenguage SQL (Structured Query Language) Język zapytań do bazy danych. IBM lata osiemdziesiąte. Stosowany w systemach zarządzania bazami danych (DBMS); Oracle, Paradox,Access,
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
2 Przygotował: mgr inż. Maciej Lasota
Laboratorium nr 2 1 Bazy Danych Instrukcja laboratoryjna Temat: Obsługa bazy danych za pomocą phpmyadmin oraz phppgadmin 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do phpmyadmin oraz phppgadmin
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
Zarzadzanie transakcjami. Transakcje
Transakcje Transakcja: ciąg zawierający jedno lub wiele poleceń SQL, zgrupowanych razem jako jedna logiczna jednostka działań, której nie można podzielić. Logiczna jednostka działań to zbiór logicznych
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
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]...
Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska
Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion Autor: Joanna Karwowska SQL zapewnia obsługę: zapytań - wyszukiwanie danych w bazie, operowania danymi - wstawianie, modyfikowanie
Bazy danych. dr inż. Arkadiusz Mirakowski
Bazy danych dr inż. Arkadiusz Mirakowski Początek pracy z Transact SQL (T-SQL) 153.19.7.13,1401 jkowalski nr indeksu 2 Perspektywa - tabela tymczasowa - grupowanie Perspektywa (widok) Perspektywa (widok)
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)
Typy Oracle atrybutów relacji Typ NUMBER (1)
Tworzenie relacji polecenie CREATE TABLE Rozdział 6 Język definiowania danych DDL CREATE TABLE nazwa_relacji (nazwa_atrybutu typ (rozmiar) [DEFAULT wartość_domyślna] [ [CONSTRAINT nazwa_ogr] ograniczenie_atr],
Typy Oracle atrybutów relacji Typ NUMBER (1)
Tworzenie relacji polecenie CREATE TABLE Rozdział 6 Język definiowania danych DDL CREATE TABLE nazwa_relacji (nazwa_atrybutu typ (rozmiar) [DEFAULT wartość_domyślna] [ [CONSTRAINT nazwa_ogr] ograniczenie_atr],
ACESS- zadania z wykorzystaniem poleceń SQL
ACESS- zadania z wykorzystaniem poleceń SQL Dane są relacje o schematach: Pracownik ( (nr integer, nazwisko text(12), etat text(10), szef integer, pracuje_od date, placa_pod Currency, placa_dod Currency,
Wyzwalacze (triggery) Przykład
Wyzwalacze (triggery) Trigger jest obiektem związanym z tablicą, który aktywuje się gdy do tablicy następuje odpowiednie zapytanie. W poniższym przykładzie definiujemy tablicę, a następnie trigger związany
Programowanie w Ruby
Programowanie w Ruby Wykład 6 Marcin Młotkowski 14 listopada 2012 Plan wykładu Trwałość obiektów Bazy danych DBM Bazy danych SQL Active records Szeregowanie obiektów Obiekt Serializacja @tytul = 'Pan Tadeusz'
Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r.
Bazy danych dla producenta mebli tapicerowanych Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r. Założenia Stworzyć system bazodanowy dla małej firmy produkującej meble tapicerowane. Projekt ma umożliwić
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
Struktura drzewa w MySQL. Michał Tyszczenko
Struktura drzewa w MySQL Michał Tyszczenko W informatyce drzewa są strukturami danych reprezentującymi drzewa matematyczne. W naturalny sposób reprezentują hierarchię danych toteż głównie do tego celu
SQL w praktyce. Miłej i owocnej nauki!!!
SQL w praktyce Niniejsza praca objęta jest prawami autorskimi. Nielegalne jest kopiowanie żadnej częsci tej pracy w żadnej postaci. Niezgodne z prawem tym bardziej jest udostępnianie innym tej pracy odpłatnie
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
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