• 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

Fiszki IT
Fiszki IT
+1 głos
64 wizyt
pytanie zadane 25 maja w Programowanie przez ANONIM2137 Początkujący (300 p.)
edycja 25 maja 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 przez Wiciorny Mędrzec (165,900 p.)
osadź kod  w odpowiednie bloczki.
1
komentarz 25 maja przez tkz Nałogowiec (39,540 p.)

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

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

@Wiciorny, jakie bloczki masz na myśli?

komentarz 25 maja przez Arkadiusz Waluk Ekspert (278,280 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 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 przez SzkolnyAdmin Maniak (57,220 p.)
A co robią przecinki na końcach linii 196 i 213?
komentarz 26 maja 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 66 wizyt
pytanie zadane 18 marca 2020 w C i C++ przez Berniak Początkujący (260 p.)
+1 głos
1 odpowiedź 396 wizyt
0 głosów
1 odpowiedź 418 wizyt
Porady nie od parady
Możesz ukryć, zamknąć lub zmodyfikować swoje pytanie, za pomocą przycisków znajdujących się pod nim. Nie krępuj się poprawić pochopnie opublikowanego pytania czy zamknąć go po uzyskaniu satysfakcjonującej odpowiedzi. Umożliwi to zachowanie porządku na forum.Przyciski pytania

84,720 zapytań

133,524 odpowiedzi

295,917 komentarzy

55,997 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...