Index: .idea/sqldialects.xml
===================================================================
--- .idea/sqldialects.xml	(revision 9106daef13a1d837245b4e9f5cc50eda29777b80)
+++ .idea/sqldialects.xml	(revision ec24aa9f7e2281863ffa18dc0e916cbd941c68aa)
@@ -3,6 +3,6 @@
   <component name="SqlDialectMappings">
     <file url="file://$PROJECT_DIR$/music/constrains/general_constrains.sql" dialect="PostgreSQL" />
-    <file url="file://$PROJECT_DIR$/music/constrains/personal_info.sql" dialect="PostgreSQL" />
     <file url="file://$PROJECT_DIR$/music/constrains/soft_delete.sql" dialect="PostgreSQL" />
+    <file url="file://$PROJECT_DIR$/music/normalization/personal_info.sql" dialect="PostgreSQL" />
     <file url="file://$PROJECT_DIR$/music/procedures/insert_track_with_price.sql" dialect="PostgreSQL" />
     <file url="file://$PROJECT_DIR$/music/triggers/customer_deletion.sql" dialect="PostgreSQL" />
Index: sic/constrains/personal_info.sql
===================================================================
--- music/constrains/personal_info.sql	(revision 9106daef13a1d837245b4e9f5cc50eda29777b80)
+++ 	(revision )
@@ -1,73 +1,0 @@
-CREATE TABLE PersonalInfo (
-    personal_info_id SERIAL PRIMARY KEY,
-    address TEXT,
-    city TEXT,
-    state TEXT,
-    country TEXT,
-    postalcode TEXT,
-    phone TEXT,
-    fax TEXT,
-    email TEXT
-);
-
-ALTER TABLE employee
-ADD COLUMN personal_info_id INTEGER REFERENCES PersonalInfo(personal_info_id);
-
-ALTER TABLE customer
-ADD COLUMN personal_info_id INTEGER REFERENCES PersonalInfo(personal_info_id);
-
---PERSONAL INFO DATA MIGRATION
-INSERT INTO PersonalInfo (address, city, state, country, postalcode, phone, fax, email)
-SELECT DISTINCT address, city, state, country, postal_code, phone, fax, email
-FROM employee;
-
-UPDATE employee e
-SET personal_info_id = p.personal_info_id
-FROM PersonalInfo p
-WHERE e.address = p.address
-  AND e.city = p.city
-  AND e.state = p.state
-  AND e.country = p.country
-  AND e.postal_code = p.postalcode
-  AND e.phone = p.phone
-  AND e.fax = p.fax
-  AND e.email = p.email;
-
-INSERT INTO PersonalInfo (address, city, state, country, postalcode, phone, fax, email)
-SELECT DISTINCT address, city, state, country, postal_code, phone, fax, email
-FROM customer;
-
-UPDATE customer c
-SET personal_info_id = p.personal_info_id
-FROM PersonalInfo p
-WHERE c.address = p.address
-  AND c.city = p.city
-  AND c.country = p.country
-  AND c.email = p.email;
-
-
-ALTER TABLE employee
-DROP COLUMN address,
-DROP COLUMN city,
-DROP COLUMN state,
-DROP COLUMN country,
-DROP COLUMN postal_code,
-DROP COLUMN phone,
-DROP COLUMN fax,
-DROP COLUMN email;
-
-ALTER TABLE customer
-DROP COLUMN address,
-DROP COLUMN city,
-DROP COLUMN state,
-DROP COLUMN country,
-DROP COLUMN postal_code,
-DROP COLUMN phone,
-DROP COLUMN fax,
-DROP COLUMN email;
-
-ALTER TABLE personalinfo
-RENAME COLUMN postalcode TO postal_code;
-
-SELECT *
-FROM employee
Index: music/normalization/personal_info.sql
===================================================================
--- music/normalization/personal_info.sql	(revision ec24aa9f7e2281863ffa18dc0e916cbd941c68aa)
+++ music/normalization/personal_info.sql	(revision ec24aa9f7e2281863ffa18dc0e916cbd941c68aa)
@@ -0,0 +1,73 @@
+CREATE TABLE PersonalInfo (
+    personal_info_id SERIAL PRIMARY KEY,
+    address TEXT,
+    city TEXT,
+    state TEXT,
+    country TEXT,
+    postalcode TEXT,
+    phone TEXT,
+    fax TEXT,
+    email TEXT
+);
+
+ALTER TABLE employee
+ADD COLUMN personal_info_id INTEGER REFERENCES PersonalInfo(personal_info_id);
+
+ALTER TABLE customer
+ADD COLUMN personal_info_id INTEGER REFERENCES PersonalInfo(personal_info_id);
+
+--PERSONAL INFO DATA MIGRATION
+INSERT INTO PersonalInfo (address, city, state, country, postalcode, phone, fax, email)
+SELECT DISTINCT address, city, state, country, postal_code, phone, fax, email
+FROM employee;
+
+UPDATE employee e
+SET personal_info_id = p.personal_info_id
+FROM PersonalInfo p
+WHERE e.address = p.address
+  AND e.city = p.city
+  AND e.state = p.state
+  AND e.country = p.country
+  AND e.postal_code = p.postalcode
+  AND e.phone = p.phone
+  AND e.fax = p.fax
+  AND e.email = p.email;
+
+INSERT INTO PersonalInfo (address, city, state, country, postalcode, phone, fax, email)
+SELECT DISTINCT address, city, state, country, postal_code, phone, fax, email
+FROM customer;
+
+UPDATE customer c
+SET personal_info_id = p.personal_info_id
+FROM PersonalInfo p
+WHERE c.address = p.address
+  AND c.city = p.city
+  AND c.country = p.country
+  AND c.email = p.email;
+
+
+ALTER TABLE employee
+DROP COLUMN address,
+DROP COLUMN city,
+DROP COLUMN state,
+DROP COLUMN country,
+DROP COLUMN postal_code,
+DROP COLUMN phone,
+DROP COLUMN fax,
+DROP COLUMN email;
+
+ALTER TABLE customer
+DROP COLUMN address,
+DROP COLUMN city,
+DROP COLUMN state,
+DROP COLUMN country,
+DROP COLUMN postal_code,
+DROP COLUMN phone,
+DROP COLUMN fax,
+DROP COLUMN email;
+
+ALTER TABLE personalinfo
+RENAME COLUMN postalcode TO postal_code;
+
+SELECT *
+FROM employee
Index: music/triggers/prevent_price_deletion.sql
===================================================================
--- music/triggers/prevent_price_deletion.sql	(revision ec24aa9f7e2281863ffa18dc0e916cbd941c68aa)
+++ music/triggers/prevent_price_deletion.sql	(revision ec24aa9f7e2281863ffa18dc0e916cbd941c68aa)
@@ -0,0 +1,11 @@
+CREATE OR REPLACE FUNCTION prevent_price_deletion()
+RETURNS trigger AS $$
+BEGIN
+    RAISE EXCEPTION 'Deletion from price table is not allowed.';
+    RETURN OLD;
+END;
+$$ LANGUAGE plpgsql;
+CREATE TRIGGER trg_no_price_deletes
+BEFORE DELETE ON price
+FOR EACH ROW
+EXECUTE FUNCTION prevent_price_deletion();
