You are on page 1of 14

10.05.2023, 13:48 Programowanie Zespołowe - Kolokwium dot.

baz danych i języka SQL

Programowanie Zespołowe - Kolokwium


dot. baz danych i języka SQL
Test wielokrotnego wyboru

Imię *
Jeżeli w polu imię student umieści swoje nazwisko lub cokolwiek innego, co nie jest jego
imieniem, otrzyma ocenę niedostateczną!

Damian

Nazwisko *
Jeżeli w polu nazwisko student umieści swoje imię lub cokolwiek innego, co nie jest jego
nazwiskiem, otrzyma ocenę niedostateczną!

Kloch

Pytania dot. baz danych:

Punktacja:
0-17 ndst
18-20 dst
21-24 dst+
25-27 db
28-31 db+
32-34 bdb

https://docs.google.com/forms/d/e/1FAIpQLSeK0tVH0tUqgieyDOTtcKWytrpG9G-mkmEJLhED790PzoiDpw/viewscore?viewscore=AE0zAgCBU… 1/14
10.05.2023, 13:48 Programowanie Zespołowe - Kolokwium dot. baz danych i języka SQL

Wartość pola tabeli pełniącego rolę klucza podstawowego

służy do szyfrowania zawartości tabeli

jest zawsze typu numerycznego

może przyjmować wartość pustą (NULL)

musi być unikalna

Aby zmodyfikować strukturę tabeli w bazie MySQL należy wykonać polecenie

ALTER TABLE

UPDATE

INSERT INTO

GRANT

W bazie danych sklepu spożywczego pod koniec dnia jest tworzony raport
wyświetlający te produkty wraz z ich dostawcami, dla których stan magazynowy
jest mniejszy niż 10 sztuk. Do zdefiniowania tego raportu posłużono się kwerendą

SELECT

CHECK TABLE

UPDATE

INSERT INTO

https://docs.google.com/forms/d/e/1FAIpQLSeK0tVH0tUqgieyDOTtcKWytrpG9G-mkmEJLhED790PzoiDpw/viewscore?viewscore=AE0zAgCBU… 2/14
10.05.2023, 13:48 Programowanie Zespołowe - Kolokwium dot. baz danych i języka SQL

Operator arytmetyczny modulo w języku SQL to

||

&

Którą relację w projekcie bazy danych należy ustalić między tabelami widocznymi
na rysunku zakładając, że każdy klient sklepu internetowego dokona przynajmniej
dwóch zamówień?

1:1

n:n

1:n, gdzie 1 jest po stronie Klienta, a wiele po stronie Zamówienia

1:n, gdzie 1 jest po stronie Zamówienia, a wiele po stronie Klienta

https://docs.google.com/forms/d/e/1FAIpQLSeK0tVH0tUqgieyDOTtcKWytrpG9G-mkmEJLhED790PzoiDpw/viewscore?viewscore=AE0zAgCBU… 3/14
10.05.2023, 13:48 Programowanie Zespołowe - Kolokwium dot. baz danych i języka SQL

Polecenie SQL 'UPDATE Uczen SET id_klasy=id_klasy+1;' ma za zadanie

ustawić na 1 wartość pola Uczen

ustawić wartość kolumny id_klasy na 1 dla wszystkich rekordów w tabeli Uczen

zwiększyć o jeden wartość pola Uczen

zwiększyć o jeden wartość kolumny id_klasy dla wszystkich rekordów tabeli Uczen

Za pomocą którego zapytania Administrator odbierze prawo przeglądania oraz


aktualizacji danych w bazie gazeta, dla użytkownika redaktor?

REVOKE SELECT, ALTER ON gazeta.* FROM 'redaktor'@'localhost';

GRANT SELECT, UPDATE ON gazeta.* TO 'redaktor'@'localhost';

GRANT SELECT, ALTER ON gazeta.* TO 'redaktor'@'localhost';

REVOKE SELECT, UPDATE ON gazeta.* FROM 'redaktor'@'localhost';

Aby w systemie MySQL nadać użytkownikowi prawo do nadawania i zmiany


uprawnień innym użytkownikom należy zastosować klauzulę

FLUSH PRIVILEGES

GRANT OPTION

TRIGGER

ALL PRIVILEGES

https://docs.google.com/forms/d/e/1FAIpQLSeK0tVH0tUqgieyDOTtcKWytrpG9G-mkmEJLhED790PzoiDpw/viewscore?viewscore=AE0zAgCBU… 4/14
10.05.2023, 13:48 Programowanie Zespołowe - Kolokwium dot. baz danych i języka SQL

Baza danych zawiera tabelę uczniowie z polami: imie, nazwisko, klasa. Aby
odnaleźć imiona i nazwiska tych uczniów, których nazwiska rozpoczynają się literą
M, należy zastosować polecenie SQL

SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko = "M%";

SELECT nazwisko, imie FROM uczniowie ORDER BY nazwisko IN "M%";

SELECT nazwisko, imie FROM uczniowie WHERE nazwisko LIKE "M%";

SELECT nazwisko, imie FROM uczniowie WHERE nazwisko IN "M%";

Normalizacja tabel jest procesem, który ma na celu

jedynie utworzenie tabel i relacji w bazie

sprawdzenie i optymalizację bazy danych

przedstawienie graficzne bazy

dodanie rekordów do bazy

Baza danych 6-letniej szkoły podstawowej zawiera tabelę szkola z polami: imie,


nazwisko, klasa. Wszyscy uczniowie klas 1-5 zdali do następnej klasy. Aby
zwiększyć wartość w polu klasa o 1 należy użyć polecenia

SELECT szkola FROM klasa=klasa+1 WHERE klasa >=1 AND klasa <=5;

SELECT nazwisko, imie FROM klasa=klasa+1 WHERE klasa>1 OR klasa <5;

UPDATE szkola SET klasa=klasa+1 WHERE klasa>=1 AND klasa <=5;

UPDATE nazwisko, imie SET klasa=klasa+1 WHERE klasa>1 OR klasa<5;

https://docs.google.com/forms/d/e/1FAIpQLSeK0tVH0tUqgieyDOTtcKWytrpG9G-mkmEJLhED790PzoiDpw/viewscore?viewscore=AE0zAgCBU… 5/14
10.05.2023, 13:48 Programowanie Zespołowe - Kolokwium dot. baz danych i języka SQL

Którą z właściwości pola tabeli należy zdefiniować, aby pole przyjmowało dane
składające się wyłącznie z cyfr?

Regułę sprawdzania poprawności

Wartość domyślną

Tagi inteligentne

Maskę wprowadzania

Aby utworzyć tabelę w bazie danych, należy zastosować polecenie SQL

CREATE TABLE

PLUS TABLE

NEW TABLE

ADD TABLE

https://docs.google.com/forms/d/e/1FAIpQLSeK0tVH0tUqgieyDOTtcKWytrpG9G-mkmEJLhED790PzoiDpw/viewscore?viewscore=AE0zAgCBU… 6/14
10.05.2023, 13:48 Programowanie Zespołowe - Kolokwium dot. baz danych i języka SQL

Baza danych zawiera tabelę o nazwie pracownicy o polach: nazwisko, imie, pensja,
wiek. Jak wygląda składnia polecenia wyznaczającego średnią pensję
pracowników?

select AVG (pensja) from pracownicy

select AVG (nazwisko) into pensja

select VAR (pensja) from nazwisko

select VAR (pracownicy) into pensja

Wynikiem uruchomienia zapytania SQL 'SELECT count(*) FROM Uczniowie WHERE


srednia=5;' jest

średnia ocen wszystkich uczniów

suma ocen uczniów, których średnia ocen wynosi 5

liczba wszystkich uczniów

liczba uczniów, których średnia ocen wynosi 5

Za pomocą zapytania 'ALTER TABLE nazwa1 ADD nazwa2 DOUBLENOT NULL;' w


tabeli zostanie

dodana kolumna nazwa2 typu zmiennoprzecinkowego

zmieniona nazwa kolumny z nazwa1 na nazwa2

dodana kolumna nazwa2 przyjmująca wartość domyślną DOUBLE

zmieniona wartość kolumny nazwa2 na DOUBLE

https://docs.google.com/forms/d/e/1FAIpQLSeK0tVH0tUqgieyDOTtcKWytrpG9G-mkmEJLhED790PzoiDpw/viewscore?viewscore=AE0zAgCBU… 7/14
10.05.2023, 13:48 Programowanie Zespołowe - Kolokwium dot. baz danych i języka SQL

W języku SQL polecenie INSERT INTO

wprowadza dane do tabeli

dodaje pola do tabeli

dodaje tabelę

aktualizuje rekordy określoną wartością

W bazie danych zdefiniowano tabelę Mieszkancy wypełnioną danymi. Aby usunąć


tę tabelę wraz z zawartością, należy posłużyć się poleceniem

ALTER TABLE Mieszkancy;

TRUNCATE TABLE Mieszkancy;

DELETE FROM Mieszkancy;

DROP TABLE Mieszkancy;

Którego typu danych w bazie MySQL należy użyć, aby przechować w jednym polu
datę i czas?

TIMESTAMP

YEAR

BOOLEAN

DATE

https://docs.google.com/forms/d/e/1FAIpQLSeK0tVH0tUqgieyDOTtcKWytrpG9G-mkmEJLhED790PzoiDpw/viewscore?viewscore=AE0zAgCBU… 8/14
10.05.2023, 13:48 Programowanie Zespołowe - Kolokwium dot. baz danych i języka SQL

W języku SQL, aby zabezpieczyć kwerendę CREATE USER tak, aby nie zostało
utworzone konto w przypadku, gdy już istnieje, można posłużyć się składnią

CREATE USER 'anna'@'localhost' IDENTIFIED BY 'yu&T%';

CREATE OR REPLACE USER 'anna'@'localhost' IDENTIFIED BY 'yu&T%';

CREATE USER OR DROP 'anna'@'localhost' IDENTIFIED BY 'yu&T%';

CREATE USER IF NOT EXISTS 'anna'@'localhost' IDENTIFIED BY 'yu&T%';

W bazie danych sklepu istnieją dwie tabele powiązane relacją: produkty oraz oceny.
Tabela oceny zawiera dowolną liczbę ocen klientów dla danego produktu opisaną
polami: id, ocena (pole numeryczne), produktID (klucz obcy). Aby wskazać
maksymalną ocenę dla produktu o ID równym 10, należy posłużyć się zapytaniem

SELECT MAX(ocena) FROM oceny WHERE produktID = 10;

MAX SELECT ocena FROM oceny WHERE produktID = 10;

COUNT MAX SELECT ocena FROM oceny WHERE produktID = 10;

SELECT MAX COUNT(ocena) FROM oceny WHERE produktID = 10;

Fragment kodu SQL '... FOREIGN KEY (imie) REFERENCES obiekty(imiona) ...'
oznacza, że klucz obcy

jest referencją do samego siebie

znajduje się w tabeli obiekty

ustawiony jest na kolumnie obiekty

łączy się z kolumną imiona

https://docs.google.com/forms/d/e/1FAIpQLSeK0tVH0tUqgieyDOTtcKWytrpG9G-mkmEJLhED790PzoiDpw/viewscore?viewscore=AE0zAgCBU… 9/14
10.05.2023, 13:48 Programowanie Zespołowe - Kolokwium dot. baz danych i języka SQL

Funkcja agregująca AVG użyta w zapytaniu 'SELECT AVG(cena) FROM uslugi;' ma


za zadanie

policzyć ile jest usług dostępnych w tabeli

obliczyć średnią arytmetyczną cen wszystkich usług

zsumować koszt wszystkich usług

wskazać najwyższą cenę za usługi

Polecenie SQL 'GRANT SELECT, INSERT, UPDATE, DELETE ON klienci TO


adam@localhost', użytkownikowi adam@localhost nadaje prawa

manipulowania danymi w tabeli klienci

zarządzania strukturą bazy danych klienci

zarządzania strukturą tabeli klienci

manipulowania danymi bazy danych klienci

W bazie danych MYSQL dana jest tabela programów komputerowych o polach:


nazwa, producent, rokWydania. Aby kwerenda SELECT zwróciła wszystkie nazwy
producentów tak, by nazwy te nie powtarzały się, należy zapisać

SELECT producent FROM programy WHERE producent NOT DUPLICATE;

SELECT producent FROM programy WHERE UNIQUE;

SELECT DISTINCT producent FROM programy;

SELECT UNIQUE producent FROM programy;

https://docs.google.com/forms/d/e/1FAIpQLSeK0tVH0tUqgieyDOTtcKWytrpG9G-mkmEJLhED790PzoiDpw/viewscore?viewscore=AE0zAgCB… 10/14
10.05.2023, 13:48 Programowanie Zespołowe - Kolokwium dot. baz danych i języka SQL

Wykonując raport w systemie obsługi relacyjnych baz danych, umożliwia się

usuwanie danych w tabelach

analizę wybranych danych

aktualizowanie danych w tabelach

dodawanie danych w tabelach

W bazie danych sklepu komputerowego istnieje tabela komputery. Aby zdefiniować


raport wyświetlający dla dowolnego zbioru danych tabeli, jedynie pola tabeli dla
komputerów, w których jest nie mniej niż 8 GB pamięci, a procesor to Intel, można
posłużyć się kwerendą

SELECT * FROM komputery WHERE procesor = "Intel" AND pamiec < 8;

SELECT * FROM komputery WHERE procesor = "Intel" OR pamiec < 8;

SELECT * FROM komputery WHERE procesor = "Intel" OR pamiec >= 8;

SELECT * FROM komputery WHERE procesor = "Intel" AND pamiec >= 8;

Baza danych zawiera tabele artykuły z polami: nazwa, typ, producent, cena. Aby


wyświetlić wszystkie nazwy artykułów wyłącznie typu pralka, dla których cena jest
z przedziału 1000 PLN i 1500 PLN, należy zastosować polecenie

SELECT nazwa FROM artykuly WHERE typ="pralka" OR cena BETWEEN 1000 AND
1500;

SELECT nazwa FROM artykuly WHERE typ="pralka" AND cena FROM 1000 TO 1500;

SELECT nazwa FROM artykuly WHERE typ="pralka" OR cena BETWEEN 1000 OR


1500;

SELECT nazwa FROM artykuly WHERE typ="pralka" AND cena BETWEEN 1000 AND
1500;

https://docs.google.com/forms/d/e/1FAIpQLSeK0tVH0tUqgieyDOTtcKWytrpG9G-mkmEJLhED790PzoiDpw/viewscore?viewscore=AE0zAgCBU… 11/14
10.05.2023, 13:48 Programowanie Zespołowe - Kolokwium dot. baz danych i języka SQL

Polecenie serwera MySQL postaci 'REVOKE DELETE, UPDATE ON pracownicy


FROM `tkowal`@`localhost`' sprawi, że użytkownikowi tkowal zostaną

odebrane prawa usuwania i modyfikowania danych w tabeli pracownicy

przydzielone prawa do usuwania i aktualizowania danych w tabeli pracownicy

przydzielone prawa wszelkiej zmiany struktury tabeli pracownicy

odebrane prawa usuwanie i dodawania rekordów w tabeli pracownicy

Polecenie języka SQL w postaci 'ALTER TABLE `miasta` ADD `kod` text;'

dodaje do tabeli dwie kolumny o nazwach: kod i text

dodaje do tabeli kolumnę o nazwie kod typu text

zamienia nazwę tabeli miasta na nazwę kod

w tabeli miasta zamienia nazwę kolumny kod na nazwę text

Jaki wynik zwróci zapytanie z ramki wykonane na przedstawionej tabeli?

https://docs.google.com/forms/d/e/1FAIpQLSeK0tVH0tUqgieyDOTtcKWytrpG9G-mkmEJLhED790PzoiDpw/viewscore?viewscore=AE0zAgCB… 12/14
10.05.2023, 13:48 Programowanie Zespołowe - Kolokwium dot. baz danych i języka SQL

W bazach danych do prezentacji danych spełniających określone warunki należy


utworzyć

raport

formularz

relację

makropolecenie

Zapytanie z klauzulą JOIN stosuje się, aby

uzyskać wyniki z dwóch tabel pozostających ze sobą w relacji

zdefiniować klucz obcy dla tabeli

otrzymać wynik jedynie z jednej tabeli

wywołać funkcję agregującą

Dana jest tabela pracownicy o polach id, nazwisko, imie, wynagrodzenie. Kolumnę
wynagrodzenie można usunąć za pomocą instrukcji

DROP TABLE pracownicy DELETE COLUMN wynagrodzenie;

ALTER TABLE pracownicy DROP COLUMN wynagrodzenie;

ALTER TABLE pracownicy DELETE wynagrodzenie;

ALTER TABLE pracownicy DELETE COLUMN wynagrodzenie;

Ten formularz został utworzony w domenie Uniwersytet Rzeszowski.

Formularze 

https://docs.google.com/forms/d/e/1FAIpQLSeK0tVH0tUqgieyDOTtcKWytrpG9G-mkmEJLhED790PzoiDpw/viewscore?viewscore=AE0zAgCB… 13/14
10.05.2023, 13:48 Programowanie Zespołowe - Kolokwium dot. baz danych i języka SQL

https://docs.google.com/forms/d/e/1FAIpQLSeK0tVH0tUqgieyDOTtcKWytrpG9G-mkmEJLhED790PzoiDpw/viewscore?viewscore=AE0zAgCB… 14/14

You might also like