Błedy w projekcie sql

0

pomółby mi ktoś usunąc błedy z projektu?
To wszystko co przy użyciu mojej wiedzy do tej pory mi sie udało stworzyć
Dziekuje

zad1

CREATE DATABASE x;
USE x;
CREATE TABLE Baza (
ID INT NOT NULL,
Nazwisko VARCHAR(40),
IDImię INT,
IDMiejsceZam INT,
IDUlica INT,
NrDomu VARCHAR(40),
NrLokalu VARCHAR(40), 
PESEL VARCHAR(40),
Dochód_roczny VARCHAR(40),
Wzrost  VARCHAR(3),
Waga VARCHAR(3),

);
CREATE TABLE dane_teleadresowe (
IDMiejsceZam INT NOT NULL,
MiejsceZam VARCHAR(40),
KodPocztowy VARCHAR(40),
Poczta VARCHAR(40),
Powiat VARCHAR(40),
MiastoPowiatowe VARCHAR(40),
WojZAM VARCHAR(40),

);
CREATE TABLE data_imienin (
IDDzieńRoku INT NOT NULL,
DataImienin INT NOT NULL,

);
CREATE TABLE imieniny (
Imię VARCHAR(40),
DataImienin INT NOT NUL,

);
CREATE TABLE imiona (
IDImię INT NOT NULL,
Imię VARCHAR(40),
Płeć SET ('M','K'),

);
CREATE TABLE miejsca_urodzenia (
IDMiejsceUr INT NOT NULL,
MiejsceUr VARCHAR(40),
PowiatUr VARCHAR(40),
WojUr VARCHAR(40),

);
CREATE TABLE ulice (
IDUlica INT NOT NULL,
ulica VARCHAR(40),

);
CREATE TABLE wojowództwa (
 Wojowództwo SET ( podlaskie','warmińsko-mazurskie','pomorskie','zachodnio-pomorskie','lubuskie','wielkopolskie','łódzkie','kujawsko-pomorskie','mazowieckie','lubelskie','świętokrzyskie','podkarpackie','małopolskie','śląskie','opolskie','dolnośląskie')
 );
 
INSERT INTO data_imienin VALUES (1, "1 stycznia");
INSERT INTO data_imienin VALUES (2, "2 stycznia");
INSERT INTO data_imienin VALUES (3, "3 stycznia");

INSERT INTO imieniny VALUES ('Aaron', "1 lipca");
INSERT INTO imieniny VALUES ('Abdon', "30 lipca");
INSERT INTO imieniny VALUES ('Abel', "2 stycznia");

INSERT INTO imiona VALUES (1, 'Aaron', "M");
INSERT INTO imiona VALUES (2, 'Abdon', "M");
INSERT INTO imiona VALUES (3, 'Abel', "M");
 
INSERT INTO Miejsca_urodzenia VALUES (1, 'Aleksandrów Kujawski', 'aleksandrowski', 'kujawsko-pomorskie')
INSERT INTO Miejsca_urodzenia VALUES (1, 'Augustów', 'augustowski', 'podlaskie')
INSERT INTO Miejsca_urodzenia VALUES (1, 'Bartoszyce', 'bartoszycki','warmińsko-mazurskie')

zad2

CREATE DATABASE x1;
USE x1;
CREATE TABLE oceny (
numer INT PRIMARY KEY INT AUTO_INCREMENT,
id_studenta INT,
id_przedmiotu INT,
ocena INT,
data_oceny DATE,
specjalność VARCHAR(40),
wykładowca VARCHAR(40),
FOREGIN KEY (id_studenta) REFERENCES studenci(id_studenta);
FOREGIN KEY (id_przedmiotu) REFERENCES przedmioty(id_przedmiotu);
FOREGIN KEY (wykładowcy) REFERENCES wykładowcy(id_wykładowcy);
FOREGIN KEY (specjalności) REFERENCES specjalności(id_specjalności);

);
CREATE TABLE specjalności (
specjalność VARCHAR(40) PRIMARY KEY,

);

CREATE TABLE studenci (
id_studenta PRIMARY KEY INT AUTO_INCREMENT,
nazwisko VARCHAR(40),
imię VARCHAR(40),
data_ur DATE,
nr_albumu VARCHAR(40),

);

CREATE TABLE przedmioty (
id_przedmiotu PRIMARY KEY INT AUTO_INCREMENT,
przedmiot VARCHAR(40),
wykładowca VARCHAR(40),

);

CREATE TABLE wykładowcy (
id_wykładowcy PRIMARY KEY INT AUTO_INCREMENT,
Imię VARCHAR(40),
Stopień_naukowy VARCHAR(40) PRIMARY KEY,

);

CREATE TABLE stopnie_naukowe (
stopien_naukowy VARCHAR(40),
pełna_nazwa VARCHAR(40),

);

INSERT INTO specjalność VALUES ("EIT");
INSERT specjalność INTO VALUES ("EO");
INSERT specjalność INTO VALUES ("KSS");

INSERT INTO studenci VALUES (null, 'Jadowski', 'Janusz', '2000-07-15', 'EO/685');
INSERT INTO studenci VALUES	(null, 'Kowalik', 'Piotr', '1978-11-11', 'R/1234');
INSERT INTO studenci VALUES (null, 'Kowalski', 'Jan', '1983-11-11',  'R/777');
INSERT INTO studenci VALUES (null, 'Kant', 'Emil', '1981-11-11', 'E/999');
INSERT INTO studenci VALUES (null, 'Adis', 'Bolek', '1979-11-11', 'R/15543');

INSERT INTO wykładowcy VALUES (1, 'Kempowski', 'Łukasz', 'prof.');
INSERT INTO wykładowcy VALUES (2, 'Misek', 'Janusz', 'prof.');
INSERT INTO wykładowcy VALUES (3, 'Misek', 'Janusz', 'dr');
INSERT INTO wykładowcy VALUES (4,'Cezarionis', 'Adrian', prof.);
INSERT INTO wykładowcy VALUES (5, 'Kowalski', 'Jan', 'dr');
INSERT INTO wykładowcy VALUES (6, 'Wiśniewski', 'Tomasz', 'mgr');


INSERT INTO rok_akademicki VALUES ("2001/2002");
INSERT INTO rok_akademicki VALUES ("2002/2003");
INSERT INTO rok_akademicki VALUES ("2003/2004");
INSERT INTO rok_akademicki VALUES ("2004/2005");
INSERT INTO rok_akademicki VALUES ("2005/2006");
INSERT INTO rok_akademicki VALUES ("2006/2007");

INSERT INTO Przedmioty VALUES (1, 'OISA', 'Kempowski Łukasz');
INSERT INTO Przedmioty VALUES (2, 'CPS', 'Kiskowski Adam');
INSERT INTO Przedmioty VALUES (3, 'WF', 'Misek Janusz');
INSERT INTO Przedmioty VALUES (4, 'J.angielski', 'Cezaronis Adrian');
INSERT INTO Przedmioty VALUES (5, 'Fizyka', 'Kowalski Jan');
INSERT INTO Przedmioty VALUES (6, 'Matematyka', 'Wiśniewski Tomasz');
INSERT INTO Przedmioty VALUES (7, 'Programowanie', 'Kingpin Alojzy');
INSERT INTO Przedmioty VALUES (8, 'Met. num.', 'Motyka Eustachy');
INSERT INTO Przedmioty VALUES (9, 'Probalistyka', 'Strawbery Mirosław');
INSERT INTO Przedmioty VALUES (10, 'Elementy el.', 'Jadowiec Tomasz');
INSERT INTO Przedmioty VALUES (11, 'Bazy danych', 'Walczak Łukasz');
INSERT INTO Przedmioty VALUES (12, 'Sterowniki', 'Zakwasik Jan');
INSERT INTO Przedmioty VALUES (13, 'Maszyny el.', 'Kepler Krzysztof');

INSERT INTO oceny VALUES ('3', '35', '11', '5', '2007-02-02', 'EIT', '11');
INSERT INTO oceny VALUES ('4', '1', '1', '4,5', '2002-02-02', 'EIT', '7');
INSERT INTO oceny VALUES ('5', '1', '12', '3', '2002-02-02', 'EIT', '3');
INSERT INTO oceny VALUES ('6', '1', '2', '3', '2002-02-02', 'EIT', '3');
INSERT INTO oceny VALUES ('7', '3', '3', '4', '2002-02-02', 'KSS', '3');
INSERT INTO oceny VALUES ('8', '1', '6', '3', '2002-02-02', 'EIT' '2');


INSERT INTO stopnie_naukowe VALUES ('dr', 'doktor');
INSERT INTO stopnie_naukowe VALUES ('mgr', 'magister');
INSERT INTO stopnie_naukowe VALUES ('prof.', 'profesor');
INSERT INTO stopnie_naukowe VALUES ('prof.AM', 'profesor akademii morskiej w Gdyni');

0

Jakie błędy?

0

screenshot-20211009135243.png

4
  • przed nawiasem zamykającym strukturę tabeli nie może znajdować się przecinek
  • jako separator pól lub kluczy w strukturze tabeli należy używać przecinka ,
  • w kluczach obcych używasz referencji do tabel, które jeszcze nie istnieją - musisz zachować odpowiednią kolejność, lub tworzyć klucze obce dopiero po dodaniu wszystkich tabel
  • przy definicji struktury tabeli (kolumn) najpierw podajesz nazwę kolumny a następnie jej typ, dopiero na później dodatkowe opcje kolumy
2

@Paweł Dmitruk: dobre rady - to ja jeszcze dodam takie:

  • nie stosuj polskich znaków jak ą/ę w nazwach kolumn - obcokrajowiec, który będzie po Tobie poprawiał albo z którym będziesz kiedyś współpracować będzie miał problem by napisać prostego SELECT'a
  • stosuj spójne nazewnictwo, a z tego co wiem w przypadku SQL'a jest to snake_case. Także, nie "Miejsce_urodzenia" a raczej coś w stylu "birth_place" albo "place_of_birth"
  • musisz także uważnie czytać błędy, błąd został bardzo dobrze opisany w zwracanym komunikacie, podejrzewam że i sam edytor podświetlał Ci cos na czerwono w linii 14.

1 użytkowników online, w tym zalogowanych: 0, gości: 1