Przejdź do treści głównej
INF.03Pytanie #1224 z 1558sql-definicja-ddl

Której kwerendy SQL należy użyć, aby utworzyć tabelę samochod z atrybutami marka, model, cena, gdzie marka i model są typu tekstowego, natomiast cena jest liczbą rzeczywistą typu stałoprzecinkowego?

Opcje odpowiedzi:
A
CREATE TABLE samochod (marka CHAR(30), model CHAR(30), cena DECIMAL(15,2));
Prawidłowa
B
CREATE TABLE samochod (marka INT(30), model INT(30), cena DECIMAL(2,15));
C
CREATE TABLE samochod VALUES (marka CHAR(30), model CHAR(30), cena DOUBLE);
D
CREATE TABLE samochod VALUES (marka CHAR(30), model CHAR(30), cena FLOAT);
Reklama

Wyjaśnienie i uzasadnienie dydaktyczne

Poprawna odpowiedź: A (CREATE TABLE samochod (marka CHAR(30), model CHAR(30), cena DECIMAL(15,2));)

CREATE TABLE samochod (marka CHAR(30), model CHAR(30), cena DECIMAL(15,2));.

Dlaczego?

  1. Składnia: Prawidłowa składnia tworzenia tabeli to CREATE TABLE nazwa (kolumna typ, ...);.
  2. Typy danych:
    • CHAR(30) to typ tekstowy (znakowy) o stałej długości, co spełnia wymóg dla marki i modelu.
    • DECIMAL(15,2) to typ stałoprzecinkowy (fixed-point), idealny do przechowywania cen (walut). Oznacza to liczbę o łącznej długości 15 cyfr, z czego 2 są po przecinku.

Wyjaśnienie błędów w pozostałych opcjach:

  • Opcja B: Używa typu INT (liczba całkowita) dla pól tekstowych (marka, model), co jest błędem logicznym. Dodatkowo definicja DECIMAL(2,15) jest błędna (precyzja nie może być mniejsza niż skala).
  • Opcja C i D: Zawierają błąd składniowy – słowo kluczowe VALUES używane jest w poleceniu INSERT (wstawianie danych), a nie CREATE TABLE (tworzenie struktury). Ponadto typy DOUBLE i FLOAT są typami zmiennoprzecinkowymi, a pytanie wymagało typu stałoprzecinkowego.

Dlaczego pozostałe opcje są nieprawidłowe?

  • B: Zapytanie CREATE TABLE samochod (marka INT(30), model INT(30), cena DE zawiera nieprawidłową składnię SQL lub zwraca niewłaściwy zestaw danych.
  • C: Zapytanie CREATE TABLE samochod VALUES (marka CHAR(30), model CHAR(30) zawiera nieprawidłową składnię SQL lub zwraca niewłaściwy zestaw danych.
  • D: laczego?** 1. Składnia: Prawidłowa składnia tworzenia tabeli to CREATE TABLE nazwa (kolumna typ, ...);. 2. Typy danych: * CHAR(30) to typ tekstowy (znakowy) o stałej długości, co spełnia wymóg dla marki i modelu. * DECIMAL(15,2) to typ stałoprzecinkowy (fixed-point), idealny do przechowywania cen (walut). Oznacza to liczbę o łącznej długości 15 cyfr, z czego 2 są po przecinku. Wyjaśnienie błędów w pozostałych opcjach: * Opcja B: Używa typu INT (liczba całkowita) dla pól tekstowych (marka, model), co jest błędem logicznym. Dodatkowo definicja DECIMAL(2,15) jest błędna (precyzja nie może być mniejsza niż skala). * Opcja C i D: Zawierają błąd składniowy – słowo kluczowe VALUES używane jest w poleceniu INSERT (wstawianie danych), a nie CREATE TABLE (tworzenie struktury). Ponadto typy DOUBLE i FLOAT są typami zmiennoprzecinkowymi, a pytanie wymagało typu stałoprzecinkowego.

Chcesz poćwiczyć całą kwalifikację INF.03?

Egzamin próbny na czas, nauka działami, losowe pytanie albo przegląd całej bazy — wszystko w przeglądarce i bez zakładania konta.

Rozwiąż w Quizie

Pojęcia z tego pytania

Cały słownik INF03
Reklama

Podobne pytania z działu „Sql definicja ddl”

Ten sam obszar materiału z kwalifikacji INF.03. W całej bazie znajdziesz 69 pytań z tego działu.