[ Pobierz całość w formacie PDF ]
.Drugą grupę języki oparte na rachunku predykatów.W językach tych definiuje się schematwynikowej oraz określa warunek, który muszą spełniać krotki tej relacji.Najbardziej popularny obecnie językbaz danych - SQL (wcześniej znany jako SEQUEL: Structured English Language) - stanowikombinację cech języków algebraicznych i Został on opracowany przez IBM w laboratoriumbadawczym w San Jose.Język ten stał się standardem i jest używany w większości komercyjnych systemówSQL obejmuje:" Język definiowania danych DDL.Są to instrukcje umożliwiające definiowanie schematów relacji, usuwanierelacji, tworzenie indeksów oraz modyfikowanie schematów relacji." Język manipulowania danymi DML.to instrukcje umożliwiające wyszukiwanie danych oraz zmieniające stan" Osadzony Celem tej postaci języka jest umożliwienie korzystania z niego w ramach klasycznego językaprogramowania." Autoryzacja.SQL DDL umożliwia praw dostępu do danych." Integralność danych.SQL DDL zawiera instrukcje definiujące warunki integralności.Operacje, które jesą niedozwolone.45 Kontrola Istnieją instrukcje blokowania danych, zatwierdzania wykonanej transakcji oraz anulowaniawprowadzonych zmian.Podstawową operację w języku SQL stanowi blok SELECT - FROM - WHERE:SELECT" " rFROMWHERE WPo słowie SELECT podaje się nazwy szukanych atrybutów rozdzielone przecinkami.Po słowie FROM występująnazwy relacji, do których należą atrybuty.Słowo WHERE poprzedza formułę logiczną W definiującą warunki, któremuszą spełniać wyszukiwane dane.Operację SELECT języka SQL można potraktować jak złożenie algebraicznychoperacji selekcji i projekcji, z tą jednak że nie następuje tu eliminacja powtórzeń występująca w operacjiprojekcji.Do eliminacji duplikatów służy operator DISTINCT umieszczany za klauzulą SELECT.Poniżej zostanąprzedstawione przykłady zastosowań bazujące na relacjach: PROJEKTY, PRACOWNICY, KONTRAKTY.Przykład 4.9.Podaj numery pracowników, którzy biorą udział w realizacji co najmniej jednego projektuSELECT DISTINCT E#FROM KONTRAKTYUżycie słowa kluczowego DISTINCT jest konieczne.Numer pracownika w relacji KONTRAKTY powtarza się, jeślipracownik bierze udział w wielu projektach.2.Podaj numery pracowników, którzy biorą udział w realizacji projektu l (przykład 4.8 - pytanie 1).SELECT E#FROM KONTRAKTYWHERE P#Numery pracowników biorących udział w realizacji danego projektu nie powtarzają się.W relacji KONTRAKTY niemogą istnieć krotki o takiej samej wartości atrybutu złożonego P#, E# - klucza głównego relacji.Nie występuje zatempotrzeba eliminacji duplikatów.Podaj numery projektów w kolejności malejących budżetów.SELECT P#FROM PROJEKTYORDER BY BUD%7łET DESCKlauzula ORDER BY określa uporządkowanie wyników zapytania.ASC oznacza kierunek rosnący, a DESC malejący.Uporządkowanie może być określone za pomocą więcej niż jednego atrybutu.Po klauzuli ORDER BY występujewtedy lista, której każdy element zawiera nazwę atrybutu oraz określenie kierunku (ASC lub DESC).Porządeksortowania odpowiada kolejności atrybutów.4.Podaj pełną informację o wszystkich projektach.SELECT *FROM PROJEKTYGwiazdka zastępuje nazwy wszystkich atrybutów relacji PROJEKTY.5.Podaj nazwiska pracowników, którzy biorą udział w realizacji projektu Pl (przykład 4.8 - pytanie 2).SELECT NAZWISKOFROM PRACOWNICYWHERE E#(SELECT E#FROM KONTRAKTYWHERE46 Wyznaczenie odpowiedzi wymaga wykorzystania relacji KONTRAKTY zawierającej numery pracownikówprojekty oraz relacji PRACOWNICY, w której znajdują się ich nazwiska.Numer poszukiwanegomusi należeć do który można opisać za pomocą bloku SELECT FROM - WHERE.Operator INmatematycznemu symbolowi e należenia do zbioru.Opis zbioru przyjmuje postać ujętego w nawiasywyrażenia zwanego Odpowiedz na podzapytanie w omawianej kwerendzie nie zależy od wartościwystępujących w zapytaniu głównym.Takie podzapytanie nazywamyOdpowiedz na omawiane pytanie można także wyrazić za pomocą pytania którego wynik zależy odwierszy zapytania głównego:".-.",SELECT NAZWISKO ' - "FROM PRACOWNICYWHERE IN - ,(SELECT P#FROM KONTRAKTY - > - -xWHERE = "Dla każdego pracownika jest tworzony zbiór numerów projektów, nad którymi pracuje.Następnie jest sprawdzanyprzynależności wyrażony operatorem IN.W przedstawionym rozwiązaniu zastosowano w blokuwewnętrznym jawną kwalifikację do bloku zewnętrznego.Jeżeli odwołanie do atrybutu nie zawiera jawnej kwalifikacji,dotyczy ono relacji z bloku lokalnegoUmieszczenie przed operatorem IN operatora negacji NOT wyraża jego zaprzeczenie (matematyczny symbol 2).Nazwiska pracowników nie biorących udziału w realizacji projektu Pl można wyznaczyć za pomocą następującejSELECT NAZWISKOFROM PRACOWNICYWHERE NOT IN [ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • hanula1950.keep.pl