I.
Wprowadzenie do  języków zapytań (1)
II.
Wprowadzenie do  języków zapytań (2)
III.
Pojęcia obiektowości w bazach danych (1)
IV.
Pojęcia obiektowości w bazach danych (2)
V.
Podstawy semantyczne języków zapytań
  Wstęp
  1. Składnia, semantyka i pragmatyka języka formalnego
  2. Składnia abstrakcyjna i semantyka kierowana składnią
  3. Semantyka języka zapytań z lotu ptaka
  4. Optymalizacja zapytań
  5. Zasady języków zapytań
  6. Zapytania eliptyczne
  7. Typowe wady teorii języków zapytań
  8. Czym jest (lub powinna być) teoria języków zapytań?
  9. Założenia semantyczne podejścia stosowego
  10. Nazwy, zakresy i wiązanie
  11. Operacyjna semantyka zapytań i programów
  Podsumowanie
  Zadania
VI.
Modele składu obiektów
VII.
Stos środowisk, rezultaty zapytań, funkcja nested
VIII.
Język SBQL (Stack-Based Query Language) (1)
IX.
X.
Dalsze własności SBQL
XI.
Operatory order by i group by
XII.
Przetwarzanie struktur nieregularnych
XIII.
Rozszerzenie języków zapytań o konstrukcje imperatywne
XIV.
Procedury, procedury funkcyjne, metody, reguły zakresu
XV.
Parametry procedur i metod, procedury rekurencyjne, optymalizacja poprzez modyfikację zapytań

 

Podsumowanie

Składnia oznacza reguły tworzenia napisów (wyrażeń) języka z elementarnych symboli (alfabetu). Z matematycznego punktu widzenia składnia jest (zwykle nieskończonym) zbiorem ciągów symboli alfabetu. Taka definicja składni jest niekompletna i mało wartościowa z punktu widzenia definicji dalszych aspektów języka. Istotną cechą składni są reguły składniowe określające sposób budowania wyrażeń języka. Stanowią one nieodłączny element definicji języka, niezbędny do jego definicji. Może się zdarzyć, że różne zestawy reguł składniowych R1 i R2 generują taki sam zbiór ciągów symboli alfabetu, ale zestaw R1 jest poprawny z punktu widzenia definicji tego języka, podczas gdy zestaw R2 jest niepoprawny. Powodem poprawności bądź niepoprawności składni jest semantyka przypisana do reguł składniowych.

Semantyka określa znaczenie wyrażeń języka, czyli stosunku napisów tego języka do rzeczy, które te napisy wyrażają lub oznaczają. Ogólna definicja semantyki wymaga zdefiniowania pewnej dziedziny znaczeń, pewnego uniwersum dyskusji o znaczeniach. Definicja takiej dziedziny zależy od tego, na jakim poziomie definiujemy semantykę, kto jest odbiorcą naszej definicji i jaki jest cel definicji. Przykładowo, semantyką programu w języku Java może być odpowiadający mu ciąg instrukcji maszyny abstrakcyjnej. Tego rodzaju definicje semantyki byłyby bezwartościowe dla programisty. Programistę interesuje wyłącznie to, jaka będzie zależność pomiędzy danymi wejściowymi programu oraz wynikiem programu. Semantyka języka komputerowego musi uwzględnić człowieka i maszynę. Adresatem definicji semantyki jest umysł programisty: semantyka jest tym, co programista "rozumie" poprzez napis języka. Adresatem semantyki jest również system komputerowy, który zamienia napisy języka na akcje komputera.

Pragmatyka języka wyznacza jego funkcję użytkową w interakcji międzyludzkiej lub w interakcji pomiędzy człowiekiem i maszyną. Składnia i semantyka języka są służebnicami jego pragmatyki. Bez pragmatyki budowanie składni i semantyki jest bez sensu. Pragmatyka opisuje w jaki sposób należy używać tego języka, w jakim celu, przy użyciu jakich reguł praktycznych. Pragmatyka oznacza dopasowanie wyrażeń języka do konkretnego problemu, który mamy do rozwiązania. Można doskonale znać składnię i semantykę danego języka programowania, natomiast być całkowicie bezradnym stając przed problemem, jak przy pomocy tego języka zrobić użyteczny program. Pragmatyka nie podlega formalizacji: można ją objaśniać przy pomocy przypadków, przykładów i analogii i nauczyć poprzez wielokrotne próby zastosowania języka do konkretnych problemów. Nie można nauczyć się prowadzenia samochodu poprzez czytanie podręcznika. Nie można nauczyć się języka bez używania tego języka.

Copyrights © 2006 PJWSTK
Materiały zostały opracowane w PJWSTK w projekcie współfinansowanym ze środków EFS.