Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
modul:m290:learningunits:lu05:theorie:03 [2024/09/27 12:05] – vdemir | modul:m290:learningunits:lu05:theorie:03 [2024/10/17 12:42] (aktuell) – vdemir | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== | + | ====== |
**Source**: | **Source**: | ||
- | | + | |
- | | + | |
- | | + | |
- | | + | - [[https:// |
- | | + | |
+ | | ||
===== Learning Objectives ===== | ===== Learning Objectives ===== | ||
Zeile 21: | Zeile 22: | ||
MySQL constraints ensure data integrity, enforcing rules at the database level. CONSTRAINTS restrict the type of data that can be inserted into tables, preventing invalid entries and ensuring relationships between tables remain accurate. The most common constraints in MySQL are | MySQL constraints ensure data integrity, enforcing rules at the database level. CONSTRAINTS restrict the type of data that can be inserted into tables, preventing invalid entries and ensuring relationships between tables remain accurate. The most common constraints in MySQL are | ||
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
Let’s explore these CONSTRAINTS with their syntax and practical examples. | Let’s explore these CONSTRAINTS with their syntax and practical examples. | ||
- | ==== PRIMARY KEY ==== | + | ==== 1. PRIMARY KEY ==== |
The Primary Key constraint uniquely identifies each record in a table. A primary key column (or a set of columns) must contain unique, non-null values. Each table can have only one primary key. | The Primary Key constraint uniquely identifies each record in a table. A primary key column (or a set of columns) must contain unique, non-null values. Each table can have only one primary key. | ||
Zeile 48: | Zeile 49: | ||
); | ); | ||
- | ==== FOREIGN KEY ==== | + | ==== 2. AUTO INCREMENT |
- | The Foreign Key constraint ensures referential integrity by linking | + | The AUTO_INCREMENT attribute automatically generates |
** General Syntax ** | ** General Syntax ** | ||
CREATE TABLE table_name ( | CREATE TABLE table_name ( | ||
- | | + | |
- | | + | |
- | FOREIGN | + | |
); | ); | ||
- | | + | |
** Example ** | ** Example ** | ||
- | CREATE TABLE orders | + | CREATE TABLE products |
- | | + | |
- | | + | |
- | FOREIGN KEY (customer_id) REFERENCES customers(customer_id) | + | |
); | ); | ||
- | In this example, customer_id in the orders table references the customer_id in the customers table. This relationship ensures that any customer_id in the orders table corresponds to an existing customer in the customers table. | + | Here, product_id automatically increments each time a new row is inserted, ensuring a unique ID for every product. |
| | ||
- | ==== NOT NULL ==== | + | ==== 3. NOT NULL ==== |
The NOT NULL constraint ensures that a column cannot contain a NULL value. It is used when the column must always have a value. | The NOT NULL constraint ensures that a column cannot contain a NULL value. It is used when the column must always have a value. | ||
Zeile 86: | Zeile 85: | ||
In this example, the employee_name column is constrained to never contain a NULL value, ensuring every employee has a name. | In this example, the employee_name column is constrained to never contain a NULL value, ensuring every employee has a name. | ||
- | ==== AUTO INCREMENT | + | ==== 4. UNIQUE |
- | The AUTO_INCREMENT attribute automatically generates | + | The UNIQUE constraint ensures that all values in a column (or a set of columns) are unique |
** General Syntax ** | ** General Syntax ** | ||
- | |||
CREATE TABLE table_name ( | CREATE TABLE table_name ( | ||
- | column_name datatype | + | column_name datatype |
- | PRIMARY KEY (column_name) | + | |
); | ); | ||
+ | | ||
+ | ** Example ** | ||
- | ** Example ** | + | |
- | | + | |
- | | + | |
- | | + | |
); | ); | ||
- | Here, product_id automatically increments each time a new row is inserted, ensuring a unique | + | In this case, the email column must contain |
- | ==== UNIQUE | + | ==== 5. FOREIGN KEY ==== |
- | The UNIQUE | + | The Foreign Key constraint ensures |
** General Syntax ** | ** General Syntax ** | ||
+ | |||
CREATE TABLE table_name ( | CREATE TABLE table_name ( | ||
- | | + | |
+ | column_name2 datatype, | ||
+ | FOREIGN KEY (column_name1) REFERENCES another_table(primary_key_column) | ||
); | ); | ||
| | ||
** Example ** | ** Example ** | ||
- | + | | |
- | | + | |
- | | + | |
- | | + | FOREIGN KEY (customer_id) REFERENCES customers(customer_id) |
); | ); | ||
- | In this case, the email column must contain unique values. No two users can have the same email address. | + | In this example, customer_id in the orders table references the customer_id in the customers table. This relationship ensures that any customer_id in the orders table corresponds to an existing customer in the customers table. |
===== Practical Example with Multiple Constraints ===== | ===== Practical Example with Multiple Constraints ===== | ||
Zeile 132: | Zeile 133: | ||
); | ); | ||
===== Summary ===== | ===== Summary ===== | ||
+ | In summary, MySQL constraints like Primary Key, Foreign Key, NOT NULL, AUTO_INCREMENT, | ||
+ | |||
+ | * **PRIMARY KEY** is applied to student_id to uniquely identify each data record in the table. | ||
* **AUTO_INCREMENT** is applied to student_id to automatically generate a unique ID for each student. | * **AUTO_INCREMENT** is applied to student_id to automatically generate a unique ID for each student. | ||
* **NOT NULL** is applied to student_name, | * **NOT NULL** is applied to student_name, | ||
Zeile 141: | Zeile 145: | ||
* **Preventing Errors:** Constraints like NOT NULL prevent the insertion of incomplete or invalid data. | * **Preventing Errors:** Constraints like NOT NULL prevent the insertion of incomplete or invalid data. | ||
* **Automation: | * **Automation: | ||
- | |||
- | In summary, MySQL constraints like Primary Key, Foreign Key, NOT NULL, AUTO_INCREMENT, | ||
- | |||
- | |||
- | |||
===== Vocabulary ===== | ===== Vocabulary ===== |