USE test; UPDATE biblio SET bibNazwisko=RIGHT(bibImie,CHAR_LENGTH(bibImie)-LOCATE(' ',bibImie)), bibImie=LEFT(bibImie,LOCATE(' ',bibImie)-1) WHERE bibNazwisko=''; DROP TABLE IF EXISTS autor; DROP TABLE IF EXISTS imie; CREATE TABLE autor (autId serial) CHARSET = utf8, -- aspekt techniczny MySQL-a COLLATE = utf8_polish_ci, -- aspekt techniczny MySQL-a ENGINE = InnoDB -- aspekt techniczny MySQL-a AS SELECT DISTINCT bibNazwisko,bibImie FROM biblio; ALTER TABLE biblio ADD COLUMN autId bigint unsigned; UPDATE biblio SET autId=(SELECT autId FROM autor WHERE autor.bibNazwisko=biblio.bibNazwisko AND autor.bibImie=biblio.bibImie); CREATE TABLE imie CHARSET = utf8, -- aspekt techniczny MySQL-a COLLATE = utf8_polish_ci, -- aspekt techniczny MySQL-a ENGINE = InnoDB -- aspekt techniczny MySQL-a AS SELECT DISTINCT bibImie FROM autor; ALTER TABLE imie ADD COLUMN imieId serial; ALTER TABLE autor ADD COLUMN imieId bigint unsigned; UPDATE autor SET imieId=(SELECT imieId FROM imie WHERE imie.bibImie=autor.bibImie); ALTER TABLE biblio DROP COLUMN bibNazwisko; ALTER TABLE biblio DROP COLUMN bibImie; ALTER TABLE autor DROP COLUMN bibImie; ALTER TABLE biblio ADD COLUMN bibId serial; ALTER TABLE autor CHANGE COLUMN bibNazwisko autNazwisko varchar(60); ALTER TABLE imie CHANGE COLUMN bibImie imie varchar(12); DROP VIEW IF EXISTS bview; CREATE VIEW bview AS SELECT * FROM biblio INNER JOIN autor USING(autId) INNER JOIN imie USING(imieId); -- KONIEC