Prezentacja rozdzial6, prezentacja rozdzial 6


Zadanie 1.

Należy zaprojektować i wykonać zapytanie szukające imion studentów, którzy uczestniczyli w kursach prowadzonych przez instruktora Hatlapę I uzyskoli w grupie ocenę 5 lub wyższą. Definiując zapytanie najpierw należy uzyskać sekcje, w których instruktorem był Hatlapa. Po zapisaniu zapytania należy je poddać edycji i uwzględnić w nim złączenie tabeli Sekcja z tabelą Raport_stopnie. Do zapytania należy dodać ograniczenie w postaci kolumny stopien.

SELECT st.imie

FROM Sekcja s, Raport_stopnie rs, Student st

WHERE s.instruktor = 'Hatlapa'

SELECT st.simie INTO ##Tymczasowa

FROM Sekcja s, Raport_stopnie rs, student st

WHERE s.instruktor = 'Hatlapa'

AND s.sekcja_nr=rs.sekcja_nr

AND (rs.stopien = '5' OR rs.stopien = '6')

SELECT*

FROM ##Tymczasowa

Zadanie 2.

Używając tabeli Student, nalezy utworzyć jej duplikat o nazwie Stutab, który zawiera takie same wiersze (wskazówka: należy przyjrzeć się definicji tabeli Student, aby zapoznać się z jej kolumnami.) Tabelę Stutab należy utworzyć za pomocą instrukcji CREATE TABLE. Dane do tabeli Stutab należy wstawić przy użyciu instrukcji INSERT INTO .. SELECT

CREATE TABLE Stutab ( STNR smallint primary key,

SIMIE varchar(20),

KIER varchar(4),

GRUPA smallint,

DURODZ datetime )

INSERT INTO Stutab

SELECT *

FROM Student

Korzystając z nowo utworzonej tabeli Stutab, należy wykonać poniższe zadania.

  1. Należy sporządzić listę imion początkujących i zaawansowanych studentów, a także wybranych przez nich kierunków

SELECT SIMIE, KIER

FROM Stutab

  1. Nazleży wygenerować listę imion studentów, którzy wybrali informatykę (INFO)

SELECT SIMIE

FROM Stutab

WHERE KIER = 'INFO'

  1. Należy utworzyć widok (o nazwie wstu) zawierający imiona studentów i kursy informatyczne (INFO)

CREATE VIEW wstu AS

SELECT SIMIE, KIER

FROM Stutab

WHERE KIER = 'INFO'

  1. Należy uzyskoać listę imion studentów i kursów informatycznych zawartych w widoku wstu, uporządkowaną według imion w kolejności malejącej

SELECT SIMIE, KIER

FROM wstu

ORDER BY SIMIE DESC

  1. Należy zmodyfikować wiersz widoku tabeli, tak aby zmianie uległ kierunek wybrany przez studenta

UPDATE wstu

SET KIER = 'ANGL'

WHERE SIMIE = 'Zyta'

  1. Należy wyświetlić zawartość widoku. Czy wprowadzenie zmian w widoku wstu spowoduje również modyfikację danych tabeli Stutab?

Początkowo Zyta miała przypisany kierunek INFO zmieniłam na ANGL:

UPDATE wstu

SET KIER = 'ANGL'

WHERE SIMIE = 'Zyta'

Należy wyświetlić zawartość widoku

SELECT *

FROM wstu

Widok nie posiada żadnych własnych danych. Dane są przechowywane wyłącznie w tabeli użytej do utworzenia widoku. Po zastosowaniu widoku dane są dynamicznie pobierane z tabeli, czyli widoki są zależne od powiązanych z nimi tabel i zachowują się jak filtr tych tabel.

Gdy dane z tabeli ulegną zmianie, automatycznie zostanie to uwzględnione w widoku. W związku z tym widok zawsze jest aktualny. Jeśli dane zmodyfikujemy za pomocą widoku, zawartość oryginalnej tabeli również zostanie zmieniona.

  1. Należy ponownie spróbować zmodyfikować widok, lecz tym razem zmieniając kierunek na INFOR. Oczywiście wartość ta nie będzie poprawna, ponieważ kolumna kier tabeli Stutab może przechowywać łańcuchy liczące maksymalnie 4 znaki. Czy operacja będzie możliwa? Jaki będzie efekt końcowy?

UPDATE Stutab

SET KIER = 'INFOR'

WHERE SIMIE = 'Zyta'

Zostanie wyświetlony komunikat o błędzie, lecz operacja będzie możliwa.

Zostanie obcięty ostatni znak z „INFOR”, czyli „INFO”

  1. Za pomocą tabeli Stutab należy utworzyć lokalną tabelę tymczasową (o nazwie #stu_tymcz) zawierającą imiona studentów i kursy informatyczne (INFO)

SELECT SIMIE, KIER INTO #stu_tymcz

FROM Stutab

WHERE KIER = 'INFO'

SELECT * FROM #stu_tymcz

  1. Należy uzyskać listę imion studentów i kierunków zawartych w tabeli #stu_tymcz uporządkowaną według imion w kolejności rosnącej

SELECT *

FROM #stu_tymcz

ORDER BY SIMIE

  1. Należy tak zmodyfikować wiersz tabeli #stu_tab, aby zmianie uległ kierunek wybrany przez studenta.

UPDATE #stu_tymcz

SET KIER = 'ANGL'

WHERE SIMIE = 'Zyta';

  1. Należy wyświetlić zawartość lokalnej tabeli tymczasowej. Czy wprowadzenie zmian w tabeli tymczasowej #stu_tymcz spowoduje również modyfikację danych nadrzędnej tabeli Stutab?

SELECT *

FROM #stu_tymcz

Takie działanie nie wprowadzi żadnych zmian, ponieważ dane tabel tymczasowych są statyczne i nie uwzględniają aktualizacji oryginalnej tabeli lub tabel.

  1. Należy ponownie spróbować zmodyfikować lokalną tabelę tymczasową, lecz tym razem zmieniając kierunek na INFOR. Oczywiście wartość ta nie będzie poprawna, ponieważ kolumna kier tabeli Stutab może przechowywać łańcuchy liczące maksymalnie 4 znaki. Czy operacja będzie możliwa? Jaki będzie efekt końcowy?

UPDATE #stu_tymcz

SET KIER = 'INFOR'

WHERE SIMIE = 'Zyta'

Operacja będzie możliwa lecz ostatni znak wyrazu „INFOR” zostanie obcięty i nieuwzględniony

  1. Za pomocą tabeli Stutab należy utworzyć globalną tabelę tymczasową (o nazwie ##gstu_tymcz) zawierającą imiona studentów i kursy informatyczne (INFO)

SELECT SIMIE, KIER INTO ##gstu_tymcz

FROM Stutab

WHERE KIER = 'INFO'

  1. Należy uzyskać listę imion studentów i kierunków zawartych w tabeli ##gstu_tymcz uporządkowaną według imion w kolejności rosnącej

SELECT *

FROM ##gstu_tymcz

ORDER BY SIMIE

  1. Należy tak zmodyfikować wiersz tabeli ##gstu_tab, aby zmianie uległ kierunek wybrany przez studenta.

UPDATE ##gstu_tymcz

SET KIER = 'POLS'

WHERE SIMIE = 'Zyta';

  1. Należy wyświetlić zawartość globalnej tabeli tymczasowej. Czy wprowadzenie zmian w tabeli tymczasowej ##gstu_tymcz spowoduje również modyfikację danych nadrzędnej tabeli Stutab?

SELECT *

FROM ##gstu_tymcz

Takie działanie nie wprowadzi żadnych zmian, ponieważ dane tabel tymczasowych są statyczne i nie uwzględniają aktualizacji oryginalnej tabeli lub tabel.

  1. Należy ponownie spróbować zmodyfikować lokalną tabelę tymczasową, lecz tym razem zmieniając kierunek na INFOR. Oczywiście wartość ta nie będzie poprawna, ponieważ kolumna kier tabeli Stutab może przechowywać łańcuchy liczące maksymalnie 4 znaki. Czy operacja będzie możliwa? Jaki będzie efekt końcowy?

UPDATE ##gstu_tymcz

SET KIER = 'INFOR'

WHERE SIMIE = 'Zyta'

Operacja będzie możliwa lecz ostatni znak wyrazu „INFOR” zostanie obcięty i nieuwzględniony

  1. Należy utowrzyć widok dołączany (o nazwie dol_stu), w którym znajdują się imiona studentów i wybrane przez nich kursy informatyczne.

CREATE VIEW dol_stu AS

SELECT SIMIE AS [Imie], KIER [Kierunek]

FROM Stutab

WHERE KIER = 'INFO'

SELECT * FROM dol_stu

Zadanie 4.

SELECT instruktor AS [INSTRUKTOR], kurs_num AS [numer_kursu]

FROM Sekcja

WHERE kurs_num LIKE 'INFO%'

  1. CREATE VIEW widok4 as

select instruktor AS [INSTRUKTOR], kurs_num as [numer_kursu]

from Sekcja

where kurs_num LIKE 'INFO%'

  1. SELECT widok4.[INSTRUKTOR], widok4.[numer_kursu]

FROM widok4

WHERE widok4.[numer_kursu] LIKE 'INFO%'

  1. SELECT widok4a.[INSTRUKTOR], widok4a.[numer_kursu]

FROM widok4a

WHERE widok4a.[numer_kursu] LIKE 'INFO%'

ORDER BY widok4a.[INSTRUKTOR] ASC



Wyszukiwarka

Podobne podstrony:
Rozdział 9-Inteligencja, materiały na prezentację z psychologii
Prezentacja rozdzial6 ~$ezentacja rozdzial 6
Rozdział XVIII Prezent
prezentacja rozdzial 6 zad 3
rozdział 1, Prezentacje maturalne
Rozdział 9-Inteligencja, materiały na prezentację z psychologii
Ekonomia menedżerska prezentacja, 4 rozdział
Winsolowy prezent rozdział 1
Prezentacja rozdział 1
prezentacja finanse ludnosci
prezentacja mikro Kubska 2
Religia Mezopotamii prezentacja
Prezentacja konsument ostateczna
Strategie marketingowe prezentacje wykład
motumbo www prezentacje org
lab5 prezentacja

więcej podobnych podstron