Językowe bazy danych. Katarzyna Klessa Eksploracja, interpretacja, analiza , Uniwersytet Warszawski, Wydział Polonistyki

Podobne dokumenty
Bazy nagrań mowy. Katarzyna Klessa Eksploracja, interpretacja, analiza. Wykład otwarty, UAM, Wydział Neofilologii, dn

Językowe bazy danych. Katarzyna Klessa Eksploracja, interpretacja, analiza , Uniwersytet Warszawski, Wydział Polonistyki

Wprowadzenie do projektowania i wykorzystania baz danych Projektowanie zasobów językowych

Wprowadzenie do projektowania i wykorzystania baz danych Projektowanie zasobów językowych

Wprowadzenie do projektowania i wykorzystania baz danych. Katarzyna Klessa

Wprowadzenie do projektowania i wykorzystania baz danych. Katarzyna Klessa

Wprowadzenie do projektowania i wykorzystania baz danych. Katarzyna Klessa

Wprowadzenie do projektowania i wykorzystania baz danych Relacje i elementy projektowania baz

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Systemy GIS Tworzenie zapytań w bazach danych

Bazy danych TERMINOLOGIA

Język SQL, zajęcia nr 1

Oracle11g: Wprowadzenie do SQL

Podstawy tworzenia i redagowania tekstów specjalistycznych Dokumentacja techniczna

Projektowanie systemów baz danych

PHP: bazy danych, SQL, AJAX i JSON

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

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

Ćwiczenie zapytań języka bazy danych PostgreSQL

2017/2018 WGGiOS AGH. LibreOffice Base

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

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

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi

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

PLAN WYKŁADU BAZY DANYCH PODSTAWOWE KWESTIE BEZPIECZEŃSTWA OGRANICZENIA DOSTĘPU DO DANYCH

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

Dr Michał Tanaś(

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

Przestrzenne bazy danych Podstawy języka SQL

Autor: Joanna Karwowska

Bazy danych. Polecenia SQL

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej.

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

SQL (ang. Structured Query Language)

zaprasza Państwa na szkolenie MS Excel -poziom średnio zaawansowany zgodne z: Intermediate Microsoft Excel 2016 (zgodne z MS 55166A)

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

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

Wykład 05 Bazy danych

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

Wprowadzenie do projektowania i wykorzystania baz danych. Katarzyna Klessa

Microsoft SQL Server Podstawy T-SQL

Struktura drzewa w MySQL. Michał Tyszczenko

Wykład 2. Relacyjny model danych

Wykład I. Wprowadzenie do baz danych

Bazy danych - wykład wstępny

Podstawy technologii WWW

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

MySQL. Æwiczenia praktyczne

3.1. Na dobry początek

Tworzenie bazy danych na przykładzie Access

Baza danych. Modele danych

Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane.

Kolumna Zeszyt Komórka Wiersz Tabela arkusza Zakładki arkuszy

Autor: dr inż. Katarzyna Rudnik

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

Pytania SO Oprogramowanie Biurowe. Pytania: Egzamin Zawodowy

LABORATORIUM 6: ARKUSZ MS EXCEL JAKO BAZA DANYCH

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

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Wykład 2: Arkusz danych w programie STATISTICA

SZKOLENIE: Administrator baz danych. Cel szkolenia

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

ROZDZIAŁ I. BUDOWA I FUNKCJONOWANIE KOMPUTERA PC

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

Ankieta. Informacje o uczestniku. Imię i nazwisko: Stanowisko : Warsztat Innowacyjne metody dydaktyczne (np. learning by doing, design thinking)

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1

Bazy danych Wykład zerowy. P. F. Góra

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.

Sylabus do programu kształcenia obowiązującego od roku akademickiego 2014/15

dokonać podziału zachowań klienta przeprowadzić rozmowę sprzedażową

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

Opis programu ERWIN. System Zarządzania Postępowaniem. Warszawa ERWIN

Instrukcja do panelu administracyjnego. do zarządzania kontem FTP WebAs.

WPROWADZANIE ZLECEŃ POPRZEZ STRONĘ INSTRUKCJA UŻYTKOWNIKA

Monitoring procesów z wykorzystaniem systemu ADONIS. Krok po kroku

Wyświetl imie i nazwisko ucznia, nazwę przedmiotu z którego otrzymał ocenę niedostateczną. Nazwij tę kwerendę oceny niedostateczne.

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty

Wykład 8. SQL praca z tabelami 5

Wprowadzenie do baz danych

Baza danych sql. 1. Wprowadzenie

WYMAGANIA EDUKACYJNE NIEZBĘDNE DO UZYSKANIA POSZCZEGÓLNYCH ŚRODROCZNYCH I ROCZNYCH OCEN Z ZAJĘĆ KOMPUTEROWYCH W KLASIE IV

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Wstęp do relacyjnych baz danych. Jan Bartoszek

SIECI KOMPUTEROWE I BAZY DANYCH

TP1 - TABELE PRZESTAWNE od A do Z

Relacyjne bazy danych. Podstawy SQL

Systemy baz danych Prowadzący: Adam Czyszczoń. Systemy baz danych. 1. Import bazy z MS Access do MS SQL Server 2012:

Podstawowe zagadnienia z zakresu baz danych

Zadaniem tego laboratorium będzie zaznajomienie się z podstawowymi możliwościami operacji na danych i komórkach z wykorzystaniem Excel 2010

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

biegle i poprawnie posługuje się terminologią informatyczną,

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

Transkrypt:

Językowe bazy danych Eksploracja, interpretacja, analiza Katarzyna Klessa klessa@amu.edu.pl 05.02.2016, Uniwersytet Warszawski, Wydział Polonistyki

` Plan warsztatów 1. Podstawowe pojęcia, terminologia wokół baz danych: dane surowe vs. korpusy językowe dane vs. metadane dane, metadane vs. wielokrotny użytek zasobów nagrania mowy: transkrypcja segmentacja anotacja 2. Elementy projektowania i tworzenia korpusów nagrań mowy: etapy prac rodzaje, cechy i wymagania względem korpusów nagrań mowy czynniki wpływające na sposoby gromadzenia i opisu danych oraz wybór technologii 3. Elementy języka zapytań SQL 2

Podstawowe pojęcia

` Podstawowe pojęcia? 4

` Dane surowe i korpusy językowe Dane surowe (raw/primary data) dane bez obróbki, systematyzacji, nieprzetworzone lub przetworzone w niewielkim stopniu Zdjęcia: languagesindanger.eu 5

` Dane surowe i korpusy językowe Korpus (ang. corpus, corpora; z łac. ciało, określona całość) dane zebrane zwykle wg założonego z góry klucza, w określonym celu uporządkowana kolekcja tekstów pisanych, transkrypcji wypowiedzi i / lub powiązanych z nimi nagrań mowy zwykle w trakcie projektowania korpusu planuje się określoną jego strukturę oraz sposób opisu danych 6

` Dane Metadane metadane dane o danych» dla nagrań mowy dane osobowe mówcy, wiek, płeć, jego stan psychiczny, dane środowiska nagraniowego, mikrofonów, osób nagrywających, innych osób obecnych przy nagraniu, innych czynników...» dla danych tekstowych dane jak np. w katalogu bibliotecznym, informacje o sposobach kolekcjonowania danych...» załączniki np. zgody na wykorzystanie danych» uwaga: rozróżnienie nie jest jednoznaczne, jeśli korpus jest wielokrotnego użytku metadane mogą stać się danymi i na odwrót 7

` Metadane i re-usability Rozbudowany system metadanych może przyczynić się do większej użyteczności korpusu, także w obszarach poza pierwotnym docelowym obszarem zastosowań np. w psychologii, socjologii, terapii języka i mowy, technologii informatycznej i in. Kluczowa rola opisu i dokumentacji zasobów. Aspekty współdzielenia danych i komercyjne. 8

` Transkrypcja, segmentacja, anotacja Różnice w definiowaniu tych pojęć, wieloznaczność Przykład: archiwum gwarypolskie.uw.edu.pl 9

` Transkrypcja, segmentacja, anotacja 10

` Transkrypcja, segmentacja, anotacja 11

` Transkrypcja, segmentacja, anotacja 12

` Transkrypcja, segmentacja, anotacja Wiele poziomów i rodzajów anotacji. Anotacja tekstu z wykorzystaniem narzędzi komputerowych (nie wymagająca informacji o powiązanym sygnale mowy), np. w znaczeniu tworzenia opisów morfologicznych (interlinear glossing); możliwa w Annotation Pro, zob. też program TypeCraft (on-line). Przykład tabeli: inne-jezyki.amu.edu.pl 13

` Transkrypcja, segmentacja, anotacja Różnice w definiowaniu tych pojęć, wieloznaczność w zależności od dziedziny stosowania obecne użycie zob. też np. Księga wiedzy, rozdz. 10 (languagesindanger.eu), sekcja 'Przetwarzanie i analiza danych' kontekst dokumentacji języków: http://languagesindanger.eu/lets-revise/ 14

Elementy projektowania i tworzenia korpusów nagrań mowy

` Wybrane etapy prac Proszę wypełnić ankietę on-line tutaj 16

` Wybrane etapy prac 17

` Ankieta on-line zbieranie danych Ankieta on-line jako jedna z przydatnych technik na etapie zbierania (meta)danych» Wersje papierowe, elektroniczne, on-line» Wady i zalety kwestionariusz / ankieta arkusz kalkulacyjny przetwarzanie danych analiza / prezentacja 18

` Ankieta on-line zbieranie danych Istnieje kilka darmowych narzędzi do tworzenia ankiet, np. Google Forms, ankietka.pl 19

` Zgoda na nagrania Zgoda na nagrania głosu i ich wykorzystanie - można jej udzielić w formie pisemnej (optymalnie) lub ustnej, jeśli zostanie ona zarejestrowana. Warto sprawdzić aktualne przepisy przed rozpoczęciem nagrań. 20

` Scenariusze nagraniowe Rejestracja zachowań językowych Wiedza o języku, świadomość języka Wypowiedzi: Spontaniczne Quasi-sponatniczne, wywoływane, zadaniowe Czytane (teksty ciągłe, jednostki izolowane) Dialogi, monologi 21

` Scenariusze nagraniowe Zdjęcia: languagesindanger.eu 22

` Autentyczność danych w korpusie Paradoks obserwatora - Observer's Paradox Celem badań językoznawczych prowadzonych w danej społeczności ma być ustalenie, jak ludzie rozmawiają ze sobą wtedy, gdy nikt ich systematycznie nie obserwuje. Ale takie dane możemy pozyskać tylko przez systematyczną obserwację. Labov (1972) Sociolinguistic Patterns. 23

` Mowa spontaniczna: baza JST / CREST Baza mowy spontanicznej i ekspresywnej JST/CREST. Baza złożona z szeregu podzestawów, z których jeden zebrano tak, że ochotnikom zamontowano małe przenośne urządzenia do nagrywania. Urządzenia rejestrowały spontaniczną mowę tych osób podczas codziennych czynności (w pracy, domu czy szkole) przez stosunkowo długi okres czasu (np. kilka miesięcy). 24

` Mowa spontaniczna: język opiekuńczy mikrokorpus UAM 4 matki mówiące do swoich dzieci, niemowląt <1 r.ż Okoliczności: karmienie, przewijanie, kładzenie do snu i in. codzienne czynności Zarządzanie? Metadane? Zdjęcie: poster Design, structure, and preliminary analyses of a speech corpus of infant directed speech (IDS) and adult directed speech (ADS). SLE 2015, dzięki uprzejmości M.Oleśkowicz-Popiel 25

` Mowa spontaniczna a kwestie techniczne, prawne i etyczne Zarządzanie? Metadane? Kwestie etyczne Ochrona danych osobowych 26

Mowa wywoływana, skierowana do dzieci i dorosłych - IDS vs. ADS korpus NeuroPerKog Wypowiedzi izolowane (sylaby, krótkie słowa/logatomy) realizowane w sposób neutralny oraz jako skierowane do dzieci - instrukcja + zdjęcie jako sposób wywołania specyficznej realizacji wypowiedzi 27

` Dialogi zadaniowe: DiaGest Zadania dialogowe zaprojektowane w celu wywołania gestykulacji tzw. origami task Zdjęcie: languagesindanger.eu, dzięki uprzejmości M. Karpińskiego 28

Dialogi zadaniowe: Paralingua Dial Kilka etapów sesji nagraniowej różne zadania: czytanie tekstu, 4 zadania dialogowe, ponowne czytanie tekstu Rozmowa przez telefon komórkowy, brak kontaktu wzrokowego Nagrania za pomocą kamer, mikrofonów i telefonów 29

Portrety emocjonalne: Paralingua Emo Emotion portrayals, por. GEMEP Geneva corpus (Scherer et al.) Wypowiedzi neutralne leksykalnie, co najmniej jedna fraza, wyrazy o wysokiej częstości występowania w codziennym użyciu, wszyscy mówcy te same teksty wypowiedzi Emocje podstawowe i emocje o zróżnicowanym nacechowaniu i stopniu pobudzenia (valence, activation) 30

Portrety emocjonalne: Paralingua Emo z: Głowacka, K. (2016), praca mgr UAM 31

` Archiwa językowe, dokumentacja języków Cele gromadzenia danych na potrzeby archiwizacji i dokumentacji oraz badań naukowych (fonetycznych, psycholingwistycznych, socjologicznych ) mogą być różne, ale wiele metod i technik pokrywa się Archiwa językowe np.» http://www.dialektologia.uw.edu.pl/index.php» http://dobes.mpi.nl/» https://www.soas.ac.uk/library/archives/» http://inne-jezyki.amu.edu.pl/frontend/ Wykorzystanie danych na potrzeby popularyzacji wiedzy: http://pl.languagesindanger.eu/map-html/pl/ 32

` Reprezentatywność korpusów Reprezentatywność zakres w jakim korpus informuje o zjawiskach zachodzących w całej populacji; w przypadku korpusów językowych w języku lub jego specjalizowanym podzbiorze Odróżnia korpusy od archiwów językowych *(jednak por. korpusy mowy spontanicznej, jak określić ich reprezentatywność?) Możliwość generalizacji, wyciągania uogólnionych wniosków 33

` Korpusy ogólnego przeznaczenia vs. specjalizowane Specjalizowane selekcja materiału dostosowana do określonych potrzeb a zatem łatwiejsza wnioski wyciągane na podstawie danych mogą tylko dotyczyć tego wybranego wycinka języka, którego dotyczy specjalizacja korpusu Ogólnego przeznaczenia z założenia dotyczą większości zjawisk w języku, powinny zakładać szczegółowy plan struktury korpusu, aby umożliwić jego późniejsze zrównoważenie, różne typy tekstów, stylów wypowiedzi, zróżnicowani mówcy Możliwość większego uogólnienia wniosków wysnuwanych na podstawie danych 34

` Korpusy statyczne vs. dynamiczne Statyczne zbiór danych językowych dający informację na temat elementów systemu językowego w określonym momencie łatwiej kontrolować zrównoważenie zawartości korpusu użyteczność może być bardziej ograniczona (dezaktualizacja) Dynamiczne umożliwiają obserwację zmienności zjawisk językowych w czasie trudniejsze w utrzymaniu, droższe trudniejsza kontrola zrównoważenia i jakości danych 35

` Użytkownicy korpusów językowych Jedna lub więcej grup docelowych Grupa docelowa a sposób udostępniania prezentacji danych bazy przeznaczone do badań naukowych nad sygnałem mowy, badania podstawowe a stosowane archiwa językowe dla specjalistów i popularyzatorskie bazy dla technologii: synteza, rozpoznawanie mowy i mówcy 36

Systematyzacja danych w korpusach - wybór technologii Jeśli pojęcie 'baza danych' to dla nas po prostu jakikolwiek zbiór danych, to na powyższe pytanie możemy odpowiedzieć - 'tak' Ograniczenia - brak powiązań między poszczególnymi plikami, trudności w sortowaniu ze względu na różne kryteria, trudności we współpracy, gdy dane są edytowane przez różne osoby (kto edytuje, który plik, kiedy, co zostało zmienione?) Systemy wspomagające pracę na zbiorach plików, np. Git http://git-scm.com/ - darmowy hosting dla Git, np. https://github.com/, https://bitbucket.org/ 37

` Systematyzacja danych w korpusach - wybór technologii Wybór technologii zależny od rodzaju i przeznaczenia korpusu Optymalnie jest, gdy sposób systematyzacji danych dobrany jest już na etapie wstępnego projektowania tworzonego zasobu. Różne sposoby systematyzacji korpusów językowych: np. bazy plikowe arkusze kalkulacyjne relacyjne bazy danych» Relacyjna baza danych zbiór danych zorganizowanych w postaci tabel powiązanych różnego rodzaju relacjami 38

Czy zbiór plików umieszczonych w folderze to baza danych? Jeśli pojęcie danych' to dla naspo po prostu prostu jakikolwiek Jeśli pojęcie 'baza'baza danych' to dla nas jakikolwiek zbiór danych, to pytanie na powyższe pytanie zbiór danych, to na powyższe możemy możemy odpowiedzieć 'tak' odpowiedzieć - 'tak' Ograniczenia - brak -powiązań między poszczególnymi - Ograniczenia brak powiązań między poszczególnymi plikami,plikami, trudności w sortowaniu zezewzględu na różne różne trudności w sortowaniu względu na trudności we współpracy, gdydane dane są kryteria,kryteria, trudności we współpracy, gdy są edytowane edytowane przez osobyktóry (kto edytuje, który plik, przez różne osoby (ktoróżne edytuje, plik, kiedy, co zostało kiedy, co zostało zmienione?) zmienione?) Systemy wspomagające pracę na zbiorach plików, np. Git http://git-scm.com/ - darmowy hosting dla Git, np. https://github.com/, https://bitbucket.org/ 39

Czy zbiór plików umieszczonych w folderze to baza danych? - Systemy wspomagające na zbiorach plików, np. Jeśli pojęcie 'baza danych' topracę dla nas po prostu jakikolwiek Git, http://git-scm.com/; darmowy hosting dla Git: zbiór danych, to na powyższe pytanie możemy https://bitbucket.org/ albo https://github.com/ odpowiedzieć - 'tak' Ograniczenia - brak powiązań między poszczególnymi - Opcje wbudowane w programy pracujące na zbiorach plikami,plików trudności w sortowaniu względukolekcji na różne - Annotation Pro - opcjeze dotyczące plików ułatwiają pracę nadane zbiorach kryteria,(workspace, trudności.antw) we współpracy, gdy są plików edytowane i operacje zbiorowe na nich, aktóry także plik, - w ograniczony przez różne osoby (kto edytuje, kiedy, co zostało sposób - połączeń/relacji między nimi zmienione?) Systemy wspomagające pracę na zbiorach plików, np. Git http://git-scm.com/ - darmowy hosting dla Git, np. https://github.com/, https://bitbucket.org/ 40

Czy arkusz kalkulacyjny to baza danych? Podobnie jak zbiór plików w folderze, arkusz kalkulacyjny może pełnić funkcję dość prostej bazy danych W arkuszach kalkulacyjnych możemy do pewnego stopnia i stosunkowo łatwo kontrolować dane (w tym przypadku zawartość komórek), możemy m.in.: napisać formuły, stworzyć makro przetwarzające dane, tworzyć tabele przestawne itp. Nadal jednak ta forma przechowywania danych nie daje możliwości pełnego wykorzystania powiązań między danymi, ani jednoczesnej pracy wielu osób na tych samych danych z zachowaniem historii zmian, przypisywaniem uprawnień do edycji itp. 41

Warto - nie warto - trzeba? Czy / kiedy warto szukać czegoś więcej niż zwykły zbiór plików czy arkusz kalkulacyjny? - kiedy mamy 1 osobę pracującą nad 1 tekstem? - kiedy mamy 1 osobę i wiele danych? - kiedy mamy dużo osób i średnią ilość danych? - kiedy mamy dużo osób i bardzo dużo danych? - kiedy różne osoby pracują z różnych miejsc, zdalnie? 42

Warto - nie warto - trzeba? Czy / kiedy warto szukać czegoś więcej niż zwykły zbiór plików czy arkusz kalkulacyjny? - kiedy mamy 1 osobę pracującą nad 1 tekstem - nie warto - kiedy mamy 1 osobę i wiele danych - warto - kiedy mamy dużo osób i średnią ilość danych - warto - kiedy mamy dużo osób i bardzo dużo danych - trzeba - kiedy różne osoby pracują z różnych miejsc, zdalnie warto czasem trzeba - zależnie od ilości danych (np. za stroną internetową z danymi stoi zwykle baza danych) 43

Relacyjna baza danych - i relacyjny model rzeczywistości Relacyjna baza danych oparta jest na tzw relacyjnym modelu rzeczywistości: ma odzwierciedlać pewien fragment rzeczywistości, jej elementów oraz powiązań między nimi - zob. np. strukturę bazy słownika obok. 44

Relacyjna baza danych - i relacyjny model rzeczywistości Bazy relacyjne składają się z wielu powiązanych ze sobą tabel. 45

Jak to działa? - architektura klient - serwer 46

Jak nauczyć się rozmawiać z bazą danych? 1. Przede wszystkim trzeba ją mieć instalacja *(narzędzia, np. MySQL). 2. Trzeba poznać język obcy: SQL 3. Z bazą relacyjną można komunikować się różnymi kanałami: - bezpośrednie zapytania do bazy (w języku SQL) - za pośrednictwem program(ów) do zarządzania / edycji danych (które wykonają polecenia SQL w naszym imieniu) - lokalnie lub przez Internet 47

Elementy SQL

SQL - nomenklatura Jak mówi staropolskie przysłowie, w bazach danych nie używamy znaków diakrytycznych, np. polskich ó, ż i in., ponieważ piszemy po angielsku... Używamy tylko znaków alfanumerycznych, czyli liter i cyfr. 49

SQL - nomenklatura MySQL W MySQL utarł się zwyczaj pisania nazw małą literą i oddzielania słów podkreślnikiem. Tak więc tabela zawierająca studentów nazywa się student. Tabela zawierająca oceny studentów nazywa się student_note. Klucz główny piszemy dodająć do nazwy tabeli id, czyli dla tabeli student będzie to student_id (niektóre środowiska wymagają, aby klucz zawsze nazywał się tylko id). 50

Lista słówek - do zapamiętania na początek Z podstaw SQL: CREATE - Tworzenie tabeli, czyli Coś czego zwykle nie będę musiał/a robić ręcznie INSERT - Dodanie czegoś do tabeli SELECT - Wyświetlenie, wybieranie danych UPDATE - Zmodyfikowanie czegoś w tabeli DELETE - Usunięcie z tabeli, czyli Ratunku, nie ma cofnij! DROP - Usunięcie tabeli, czyli Ratunku, wyrzuciłem/am wszystko! Kopie bezpieczeństwa 51

Lista słówek - do zapamiętania na początek Z podstaw SQL: CREATE - Tworzenie tabeli, czyli Coś czego zwykle nie będę musiał/a robić ręcznie INSERT - Dodanie czegoś do tabeli SELECT - Wyświetlenie, wybieralnie danych UPDATE - Zmodyfikowanie czegoś w tabeli DELETE - Usunięcie z tabeli, czyli Ratunku, nie ma cofnij! DROP - Usunięcie tabeli, czyli Ratunku, wyrzuciłem/am wszystko! Kopie bezpieczeństwa 52

MySQL, phpmyadmin https://www.phpmyadmin.net/ Dane do logowania na zajęcia: http://warsztaty2016.klessa.pl/ Użytkownik: 01686302_0000005 53

MySQL, phpmyadmin 54

Zapytanie SELECT - wstęp Zapytanie SELECT zawiera często elementy wymienione niżej. Prosimy bazę danych o informacje, mówiąc jej: 1. Które kolumny chcemy zobaczyć? 2. Z jakiej tabeli? 3. Które wiersze? 4. Czy pogrupować dane? 5. Posortujmy alfabetycznie! 55

Zapytanie SELECT - składnia Składnia: *(pola wyszarzone są opcjonalne) 56

Zapytanie SELECT - składnia W powyższym zapytaniu polecenia języka SQL to SELECT, FROM, AS, GROUP BY, ORDER BY. Kolumny do pokazania należy wymienić jako listę kolumn, gdzie każda kolumna jest oddzielona przecinkiem, np.: kolumna1, kolumna2, kolumna3. tabela oznacza nazwę tabeli (lub kilku tabel), z których chcemy czytać dane. 57

Zapytanie SELECT - lista kolumn. Przykład 0. - podobno prościej się nie da:) Wynik: Wynik: wszystkie wiersze, wszystkie kolumny z tabeli 'files' (wher) 58

Zapytanie SELECT - lista kolumn. Przykład 1. - wybór jednej kolumny Wynik: lista wszystkich etykiet (z powtórzeniami) 59

Zapytanie SELECT - lista kolumn. Przykład 2. - wybór kilku kolumn Wynik: lista etykiet i ich czasów trwania (w ms) 60

Zapytanie SELECT - lista kolumn. Przykład 3. - poglądowe ograniczenie wyników Wynik: zapytanie zwraca ograniczoną liczbę wierszy, tyle ile wpiszemy po LIMIT (tutaj 1) 61

Zapytanie SELECT - lista kolumn. Przykład 5. - połączenie dwóch kolumn Pobieramy z tabeli `files` kolumny file_part3 I layer. Dodatkowo pomiędzy nimi dodajemy ciąg znaków (string) ze spacją. *(w MySQL można to zrobić na 2 sposoby: za pomocą concat i concat_ws. concat łączy stringi podane w parametrze, a concat_ws łączy stringi, ale pierwszy parametr określa, co będzie wstawiane pomiędzy kolejne). Dzięki temu w wyniku mamy jedną nową kolumnę, zamiast dwóch. 62

Zapytanie SELECT - lista kolumn. Przykład 6. - nadajemy nazwę połączonej kolumnie Kolumna utworzona z połączenia dwóch kolumn ma teraz nową nazwę. Używamy do tego słowa kluczowego AS (od: 'alias'), które wpisujemy po nazwie kolumny, a zaraz potem piszemy nową nazwę kolumny. Wynik: 63

Zapytanie SELECT wybieramy unikalne wiersze Przykład 7. - DISTINCT Kolumna utworzona z połączenia dwóch kolumn ma teraz nową nazwę. Używamy do tego słowa kluczowego AS (od: 'alias') zaraz za taką kolumną i potem piszemy nową nazwę kolumny. Wynik: 64

Zapytanie SELECT - lista kolumn. Przykład 8. - funkcje tekstowe Na liście kolumn można używać funkcji, które umożliwiają nam manipulację zawartością kolumny. Są to m.in. funkcje szczególnie przydatne w obróbce danych tekstowych w językowych bazach danych np. takie: LEN, LEFT, RIGHT, REVERSE, LOWER, UPPER, TRIM, REPLACE 65

Zapytanie SELECT - lista kolumn. Przykład 8. - funkcje tekstowe: LENGTH LENGTH - liczba znaków zawartości komórki. Wynik: 66

Zapytanie SELECT - lista kolumn. Przykład 8. - funkcje tekstowe: LEFT, RIGHT LEFT, RIGHT - zwraca określoną liczbę znaków licząc od lewej lub od prawej, czyli np. 3 pierwsze literki lub 3 ostatnie. Wynik: 67

Zapytanie SELECT - lista kolumn. Przykład 8. - funkcje tekstowe: REVERSE REVERSE - odwraca kolejność liter w tekście w komórce tabeli. - Pytanie: do czego może być przydatna ta funkcja? Wynik: 68

Zapytanie SELECT - lista kolumn. Przykład 8. - funkcje tekstowe: LOWER, UPPER Lower, Upper - zamieniają wszystkie litery w wyniku selekcji na małe albo na wielkie. Wynik: 69

Zapytanie SELECT - lista kolumn. Przykład 8. - funkcja tekstowa: TRIM TRIM usuwa zbędne spacje przed/po tekście. Wynik: *(w naszym konkretnym przykładzie nic się nie zmienia, ale funkcja ta może być bardzo przydatna, np do 'czyszczenia' danych) 70

Zapytanie SELECT - lista kolumn. Przykład 8. - funkcje tekstowe: REPLACE Wynik: Wynik: 71

` Linki Wybrane linki (niektóre ściśle, a inne luźniej powiązane z tematyką zajęć:) http://www.w3schools.com/sql/ https://www.phpmyadmin.net/ http://dev.mysql.com/doc/refman/5.0/en/string-functions.html http://pl.languagesindanger.eu/book-of-knowledge/language-documentation/ http://www.gwarypolskie.uw.edu.pl/ www.inne-jezyki.amu.edu.pl www.annotationpro.org http://stackoverflow.com/ http://sldr.org/ http://nkjp.pl/ http://www.natcorp.ox.ac.uk/corpus/index.xml?id=intro http://phoible.org/ http://wals.info/ http://glottolog.org/ http://www.buckeyecorpus.osu.edu/ 72

Dziękuję za uwagę! klessa@amu.edu.pl annotationpro.org katarzyna.klessa.pl