SQLize
Online
/
PHPize Online
/
SQLtest Online
A
A
A
Share
Donate
Blog
Popular
Donate
A
A
A
Share
Blog
Popular
SQLize.online is a free online SQL environment for quickly running, experimenting with and sharing code.
You can run your SQL code on top of the most popular RDBMS including MySQL, MariaDB, SQLite, PostgreSQL, Oracle and Microsoft SQL Server.
SQL code:
Upload
Copy
Format
Clear
CREATE TABLE izdatelstvo( id NUMBER PRIMARY KEY NOT NULL, -- добавлено поле id для уникальности nazvaniye_izd VARCHAR2(255) NOT NULL, pochta VARCHAR2(255) NOT NULL, nomer_telefona VARCHAR2(16) NOT NULL, sayt VARCHAR2(255), adres VARCHAR2(255) ); CREATE TABLE avtor( id NUMBER PRIMARY KEY NOT NULL, -- добавлено поле id для уникальности last_name VARCHAR2(255), first_name VARCHAR2(255), data_rozhdeniya DATE NOT NULL, zhanry VARCHAR2(255) NOT NULL, yazyk_proizvedeniy VARCHAR2(255) NULL, izdatelstvo_id NUMBER, -- добавлено поле для связи с таблицей izdatelstvo CONSTRAINT izdatelstvo_fk FOREIGN KEY (izdatelstvo_id) REFERENCES izdatelstvo(id) -- изменена ссылка на id из таблицы izdatelstvo ); CREATE TABLE kniga( kod_knigi NUMBER PRIMARY KEY NOT NULL, nazvaniye VARCHAR2(255) NOT NULL, zhanr VARCHAR2(255), data_izdaniya DATE, kolichestvo_stranits NUMBER, izdatelstvo_id NUMBER, -- добавлено поле для связи с таблицей izdatelstvo avtor_id NUMBER, -- добавлено поле для связи с таблицей avtor CONSTRAINT nazvaniye_fk FOREIGN KEY (izdatelstvo_id) REFERENCES izdatelstvo(id), -- изменена ссылка на id из таблицы izdatelstvo CONSTRAINT avtor_fk FOREIGN KEY (avtor_id) REFERENCES avtor(id) -- ссылка на id из таблицы avtor ); CREATE TABLE chitatel( nomer_chitatelsogo_bileta NUMBER PRIMARY KEY NOT NULL, last_name VARCHAR2(255) NOT NULL, first_name VARCHAR2(255) NOT NULL, data_rozhdeniya DATE NOT NULL, nomer_telefona VARCHAR2(16), -- исправлено на varchar2 adres VARCHAR2(255), -- исправлено на varchar2 kniga NUMBER NOT NULL, CONSTRAINT kniga_fk FOREIGN KEY (kniga) REFERENCES kniga(kod_knigi) ); CREATE TABLE vydacha_knigi( nomer_chitatelskogo_bileta NUMBER PRIMARY KEY NOT NULL, kod_knigi NUMBER NOT NULL, data_vydachi DATE, data_sdachi DATE, CONSTRAINT kod_knigi_fk FOREIGN KEY (kod_knigi) REFERENCES kniga(kod_knigi) ); CREATE TABLE abonement ( id NUMBER PRIMARY KEY NOT NULL, -- уникальный идентификатор абонемента nomer_chitatelsogo_bileta NUMBER NOT NULL, -- ссылка на читателя data_start DATE NOT NULL, -- дата начала абонемента data_end DATE NOT NULL, -- дата окончания абонемента tip_abonementa VARCHAR2(255) NOT NULL, -- тип абонемента (например, месячный, годовой) status VARCHAR2(50) CHECK (status IN ('активен', 'неактивен')), -- статус абонемента CONSTRAINT chitatel_fk FOREIGN KEY (nomer_chitatelsogo_bileta) REFERENCES chitatel(nomer_chitatelsogo_bileta), -- связь с таблицей chitatel CONSTRAINT valid_dates CHECK (data_end > data_start), -- проверка, что дата окончания позже даты начала CONSTRAINT unique_abonement UNIQUE (nomer_chitatelsogo_bileta, data_start) -- уникальность абонемента для одного читателя на одну дату начала ); -- 1. Удаляем внешний ключ из таблицы abonement ALTER TABLE abonement DROP CONSTRAINT chitatel_fk; -- 2. Изменяем тип данных первичного ключа в таблице chitatel ALTER TABLE chitatel MODIFY (nomer_chitatelsogo_bileta VARCHAR2(50)); -- изменяем на VARCHAR2 -- 3. Изменяем тип данных в таблице abonement, чтобы он совпадал ALTER TABLE abonement MODIFY (nomer_chitatelsogo_bileta VARCHAR2(50)); -- изменяем на VARCHAR2 -- 4. Восстанавливаем внешний ключ в таблице abonement ALTER TABLE abonement ADD CONSTRAINT chitatel_fk FOREIGN KEY (nomer_chitatelsogo_bileta) REFERENCES chitatel(nomer_chitatelsogo_bileta);
SQL
Server:
MariaDB 11.4
MariaDB 11.5
MariaDB 10
MariaDB 10 Sakila (ReadOnly)
MySQL 5.7
MySQL 5.7 Sakila (ReadOnly)
MySQL 8.0
MySQL 8.0 Sakila (ReadOnly)
SQLite 3
SQLite 3 Preloaded
PostgreSQL 10 Bookings (ReadOnly)
PostgreSQL 11
PostgreSQL 12
PostgreSQL 13
PostgreSQL 14
PostgreSQL 15
MS SQL Server 2017
MS SQL Server 2019
MS SQL Server 2022
MS SQL Server 2022 AdventureWorks (ReadOnly)
Firebird 4.0
Firebird 4.0 (Employee)
Oracle Database 19c (HR)
Oracle Database 21c
Oracle Database 23c Free
SOQOL
Version
ER Diagram
Preserve result
Stuck with a problem?
Got Error?
Ask ChatGPT!
Result:
Copy
Clear