• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Błędy w bazie danych- brak pomysłu na rozwiązanie

VPS Starter Arubacloud
+1 głos
492 wizyt
pytanie zadane 25 maja 2021 w Programowanie przez ANONIM2137 Początkujący (300 p.)
edycja 25 maja 2021 przez ANONIM2137

Dzień dobry mam problem z bazą danych- wyskakują mi błędy i nie wiem jak je naprawić. Czy byłby ktoś w stanie pomóc??? Z góry dzięki

 

KOD

 

DROP SCHEMA IF EXISTS "hotel" CASCADE;

CREATE SCHEMA "hotel"

DROP TABLE IF EXISTS panstwo CASCADE;
CREATE TABLE panstwo (
id_panstwa serial NOT NULL,
nazwa_panstwa VARCHAR(50) NOT NULL,
numer_kierunkowy_kraju VARCHAR(4) NOT NULL,
CONSTRAINT panstwo_pk PRIMARY KEY (id_panstwa)
);

DROP TABLE IF EXISTS miasto CASCADE;
CREATE TABLE miasto (
id_miasta serial NOT NULL,
nazwa_miasta VARCHAR(50) NOT NULL DEFAULT 'SANDOMIERZ',
kod_pocztowy VARCHAR(7) NOT NULL,
id_panstwa int not null,
CONSTRAINT miasto_pk PRIMARY KEY (id_miasta),
CONSTRAINT miasto_fk FOREIGN KEY (id_panstwa) REFERENCES (id_panstwa)
);

DROP TABLE IF EXISTS hotele;
CREATE TABLE hotele(
id_hotelu serial NOT NULL
);

ALTER TABLE hotele ADD nazwa_hotelu TEXT NOT NULL;
ALTER TABLE hotele ADD adres_hotelu VARCHAR(45) NOT NULL;
ALTER TABLE hotele ADD liczba_gwiazdek_hotelu VARCHAR(45) NOT NULL;
ALTER TABLE hotele ADD numer_telefonu_hotelu VARCHAR(45) NOT NULL;
ALTER TABLE hotele ADD email_hotelu VARCHAR(45) NOT NULL;
ALTER TABLE hotele ADD strona_internetowa_hotelu VARCHAR(45) NOT NULL;
alter table hotele add miasto int not null;
ALTER TABLE hotele ADD CONSTRAINT hotele_pk PRIMARY KEY (id_hotelu);
ALTER TABLE hotele ADD CONSTRAINT hotele_fk FOREIGN KEY (id_miasta) REFERENCES "hotel".miasto(id_miasta);


DROP TABLE IF EXISTS klient CASCADE;
CREATE TABLE klient (id_klienta serial NOT NULL,
imie VARCHAR(45) NOT NULL,
nazwisko VARCHAR(50) NOT NULL,
pesel VARCHAR(11) NOT NULL,
ulica VARCHAR(50) NOT NULL,
miasto int not null,
CONSTRAINT klient_pk PRIMARY KEY (id_klienta),
CONSTRAINT klient_fk FOREIGN KEY (miasto) REFERENCES "hotel".miasto(id_miasta)
);

DROP TABLE IF EXISTS rezerwacja CASCADE;
CREATE TABLE rezerwacja (
id_rezerwacji INT NOT NULL,
start_rezerwacji DATE NOT NULL,
koniec_rezerwacji DATE  NOT NULL,
rezelizcja_rezerwacji INT NOT null,
id_klienta int not null,
CONSTRAINT rezerwacja_pk PRIMARY KEY (id_rezerwacji),
CONSTRAINT rezerwacja_klient_fk FOREIGN KEY (id_klienta) REFERENCES "hotel".klient(id_klienta)
);

DROP TABLE IF EXISTS pokoje CASCADE;
CREATE TABLE pokoje (
id_pokoju serial NOT NULL,
numer_pokoju INT NOT NULL,
pietro_pokoju INT NOT NULL,
ilosc_osob_w_pokoju INT NOT NULL,
id_rezerwacji int not null,
id_hotel int not null,
CONSTRAINT pokoje_pk PRIMARY KEY (id_pokoju),
CONSTRAINT pokoje_rezerwacja_fk FOREIGN KEY (id_rezerwacji) REFERENCES "hotel".rezerwacja(id_rezerwacji),
constraint pokoje_hotel_fk foreign key (id_hotel) references "hotel".hotele(id_hotelu)
);


ALTER TABLE hotele DROP CONSTRAINT id_panstwa;

ALTER TABLE hotele ADD CONSTRAINT hotele_fk FOREIGN KEY (id_panstwa) REFERENCES "hotel".panstwo(id_panstwa);

CONSTRAINT hotele_pk PRIMARY KEY (id_hotelu);
ALTER TABLE hotele DROP CONSTRAINT hotele_pk;

ALTER TABLE hotele ADD CONSTRAINT id_hotelu PRIMARY KEY (id_hotelu);

ALTER TABLE hotele ALTER COLUMN id_hotelu TYPE INT;

CREATE SEQUENCE sekwencja;

ALTER TABLE hotele ALTER COLUMN id_hotelu SET DEFAULT nextval('sekwencja');

ALTER SEQUENCE sekwencja START 100 RESTART;

ALTER TABLE pokoje ADD CONSTRAINT pokoje CHECK(pietro_pokoju <= 5); 

ALTER TABLE klient ADD CONSTRAINT klient_unique unique(NAZWISKO);

START TRANSACTION

INSERT INTO panstwo (nazwa_panstwa, numer_kierunkowy) VALUES 
('POLSKA', 48 ),
('ARGENTYNA', 54),
('AUSTRIA', 43),
('BELGIA', 32),
('BRAZYLIA', 55),
('BUŁGARIA', 359),
('CHILE', 56),
('CHINY', 86),
('CHORWACJA', 385),
('CZAD', 235),
('CZECHY', 420),
('DANIA', 45),
('EGPIT', 20),
('FRANCJA', 33),
('HOLNDIA', 31)

INSERT INTO miasto (nazwa_miasta, kod_pocztowy) VALUES 
('SANDOMIERZ', 27-600),
('WARSZAWA', 01-001),
('KRAKÓW', 31-942),
('POZNAŃ', 60-104),
('STALOWA WOLA', 37-450),
('BIAŁYSTOK', 15-796),
('LUBLIN', 20-153),
('WROCŁAW', 54-614),
('RZESZÓW', 35-030),
('SZCZECIN', 70-843),
('KATOWICE', 40-153),
('GDAŃSK', 80-288),
('CIECHOCINEK', 87-720),
('SOPOT', 81-842),
('GDYNIA', 81-537)

INSERT INTO hotele (nazwa_hotelu, adres_hotelu) VALUES 
('SARMATA', 'SANDOMIERZ SŁOWACKIEGO 7'),
('HILTON', 'WARSZAWA MICKIEWICZA 2' ),
('MARIOT', 'KRAKÓW ZALESZAŃSKA 88' ),
('SOFITEL', 'POZNAŃ KOWALSKIEGO 33' ),
('COPERNICUS', 'STALOWA WOLA KACZYŃSKIEGO 939'),
('SHERATON', 'BIAŁYSTOK MIODOWA 11'),
('HILTON', 'LUBLIN ZAKOLE 84' ),
('PODEWILS', 'WROCŁAW SZUWARSKIEGO 43' ),
('BRISTOL', 'RZESZÓW MAZOWIECKA 43'),
('MAMAAISON LE REGINA', 'SZCZCECIN SANDOMIERSKA 1'),
('WENTZL', 'KATOWICE BACZYŃSKIEGO 21' ),
('SENACKI', 'GDAŃSK MICKIEWICZA 2'),
('ANDELS', 'CIECHOCINEK KWIATOWA 3' ),
('QUEEN BOUTIQUE', 'SOPOT SZKOLNA 44' ),
('ARISTO', 'GDYNIA SOPOCKA 33' ),
('ANDELS', 'SANDOMIERZ SŁOWACKIEGO 7'),
('HILTON', 'WARSZAWA MICKIEWICZA 2' ),
('MARIOT', 'KRAKÓW ZALESZAŃSKA 88' ),
('SOFITEL', 'POZNAŃ KOWALSKIEGO 33' ),
('COPERNICUS', 'STALOWA WOLA KACZYŃSKIEGO 939'),
('SHERATON', 'BIAŁYSTOK MIODOWA 11'),
('HILTON', 'LUBLIN ZAKOLE 84' ),
('PODEWILS', 'WROCŁAW SZUWARSKIEGO 43' ),
('BRISTOL', 'RZESZÓW MAZOWIECKA 43'),
('MAMAAISON LE REGINA', 'SZCZCECIN SANDOMIERSKA 1'),
('WENTZL', 'KATOWICE BACZYŃSKIEGO 21' ),
('SENACKI', 'GDAŃSK MICKIEWICZA 2'),
('ANDELS', 'CIECHOCINEK KWIATOWA 3' ),
('QUEEN BOUTIQUE', 'SOPOT SZKOLNA 44' ),
('ARISTO', 'GDYNIA SOPOCKA 33' )

INSERT INTO klient (imie, nazwisko) VALUES 
('DAMIAN', 'KOT'),
('PIOTR', 'NOWAK'),
('JAN', 'PIES'),
('OLA', 'LIS'),
('DAGMARA', 'STYCZEŃ'),
('OLEK', 'TRZECI'),
('KUBA', 'KALINKA'),
('TOMEK', 'MARCHEWKA'),
('KAMIL', 'NOWAKOWSKI'),
('JACEK', 'OLSZEWSKI'),
('ZYGMUNT', 'PIES'),
('WALDEMAR', 'KOŃ'),
('ANIA', 'JURAS'),
('ZOSIA', 'KOŁECZEK'),
('JULKA', 'SŁONECZNA')

INSERT INTO rezerwacje (start_rezerwacji, koniec_rezerwacji) VALUES
('2020-09-10', '2020-10-10'),
('2020-06-10', '2020-07-10'),
('2020-10-10', '2020-12-10'),
('2020-09-01', '2020-09-09'),
('2020-07-02', '2020-09-05'),
('2020-03-10', '2021-09-10'),
('2021-09-10', '2021-09-18'),
('2020-01-10', '2020-05-08'),
('2020-04-10', '2020-05-27'),
('2020-09-10', '2020-09-30'),
('2020-12-19', '2020-12-29'),
('2020-07-13', '2020-09-10'),
('2021-07-10', '2021-09-24'),
('2020-05-11', '2020-06-10'),
('2020-09-10', '2020-09-29'),

INSERT INTO pokoje (numer_pokoju, pietro_pokoju) VALUES
('1', '1'),
('2', '1'),
('3', '1'),
('4', '1'),
('5', '1'),
('6', '1'),
('7', '1'),
('8', '1'),
('9', '1'),
('10', '1'),
('11', '2'),
('12', '2'),
('13', '2'),
('14', '2'),
('15', '2'),

 

1
komentarz 25 maja 2021 przez Wiciorny Ekspert (269,120 p.)
osadź kod  w odpowiednie bloczki.
1
komentarz 25 maja 2021 przez tkz Nałogowiec (42,000 p.)

@ANONIM2137, A jak wyglądają te błędy?

komentarz 25 maja 2021 przez ANONIM2137 Początkujący (300 p.)

@Wiciorny, jakie bloczki masz na myśli?

komentarz 25 maja 2021 przez Arkadiusz Waluk Ekspert (287,550 p.)
Te, które są opisane nad formularzem gdzie zadawałeś pytanie, w regulaminie, który zaakceptowałeś zakładając konto i w FAQ - https://forum.pasja-informatyki.pl/faq#jak-wstawic-kod-zrodlowy ;)

I jak wspomniał @tkz, skoro są jakieś błędy, to podaj ich treść. Opisujemy problem jak najdokładniej i podajemy jak najwięcej szczegółów. W końcu widząc tyle kodu nikt nie będzie zgadywał co jest nie tak, a komunikat błędu może jasno dać odpowiedź lub chociaż zasugerować o co chodzi.
komentarz 25 maja 2021 przez ANONIM2137 Początkujący (300 p.)

@tkz, dużo mam błędów o numerze 42601. Najwięcej jest ich przy kluczach obcych i podstawowych np. tutaj: CONSTRAINT miasto_fk FOREIGN KEY (id_panstwa) REFERENCES (id_panstwa).

komentarz 25 maja 2021 przez SzkolnyAdmin Szeryf (86,280 p.)
A co robią przecinki na końcach linii 196 i 213?
komentarz 26 maja 2021 przez ANONIM2137 Początkujący (300 p.)
dobra dzięki usunę

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
2 odpowiedzi 256 wizyt
0 głosów
2 odpowiedzi 115 wizyt
pytanie zadane 18 marca 2020 w C i C++ przez Berniak Początkujący (260 p.)
+1 głos
1 odpowiedź 502 wizyt

92,452 zapytań

141,262 odpowiedzi

319,085 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...