【初心者向け】データベーストリガーの命名規則:読みやすく、わかりやすく
データベーストリガーの命名規則
命名規則のガイドライン
- 大文字と小文字を区別する: 大文字と小文字を区別して、トリガーの名前をより読みやすくします。
- 動詞を使用する: トリガーの名前は、トリガーが実行するアクションを表す動詞で始まるようにしてください。
- 関連性を示す: トリガーの名前は、関連するテーブルまたは列を反映するものでなければなりません。
- 一貫性を保つ: すべてのトリガーに同じ命名規則を適用してください。これにより、データベースをより理解しやすくなります。
- 簡潔でわかりやすい名前を使用する: トリガーの名前は、そのトリガーが何を行うのかを明確に反映するものでなければなりません。長いまたは複雑な名前は避けてください。
命名規則の例
次の例は、データベーストリガーの命名規則に従ったものです。
product_price_audit_trigger
: このトリガーは、product
テーブルのprice
列が変更されたときに監査ログを記録します。order_delete_trigger
: このトリガーは、order
テーブルのレコードが削除されたときに実行されます。
命名規則の重要性
一貫性のある命名規則を使用することで、データベースの利点を得ることができます。
- エラーを減らす: 明確な名前を使用すると、コーディングエラーを減らすことができます。
- 保守しやすい: 一貫した名前を使用すると、データベースを保守しやすくなります。
データベーストリガーの命名規則に加えて、次の点も考慮する必要があります。
- 組織の標準: 組織内にデータベースの命名規則がある場合は、その規則に従うようにしてください。
- データベース管理システム (DBMS) の命名規則: 使用している DBMS には、独自の命名規則がある場合があります。これらの規則に従うようにしてください。
CREATE OR REPLACE TRIGGER customer_update_audit_trigger
BEFORE UPDATE ON customer
FOR EACH ROW
BEGIN
INSERT INTO audit_log (
table_name,
record_id,
action,
old_value,
new_value
)
VALUES (
'customer',
NEW.customer_id,
'UPDATE',
OLD.email,
NEW.email
);
END;
このトリガーは、次のことを行います。
audit_log
テーブルに新しいレコードを挿入します。- 新しいレコードには、次の情報が含まれます。
- テーブル名:
customer
- レコード ID: 更新されたレコードの
customer_id
- アクション:
UPDATE
- 古い値: 更新前の
email
列の値
- テーブル名:
このトリガーは、監査ログを記録するために使用できます。監査ログは、データベースでの変更を追跡するために使用できます。
order
テーブルのレコードが削除されたときに実行されるトリガー:
CREATE OR REPLACE TRIGGER order_delete_audit_trigger
BEFORE DELETE ON orders
FOR EACH ROW
BEGIN
INSERT INTO audit_log (
table_name,
record_id,
action
)
VALUES (
'orders',
OLD.order_id,
'DELETE'
);
END;
product
テーブルのprice
列が変更されたときに監査ログを記録するトリガー:
CREATE OR REPLACE TRIGGER product_price_audit_trigger
BEFORE UPDATE ON products
FOR EACH ROW
WHEN NEW.price <> OLD.price
BEGIN
INSERT INTO audit_log (
table_name,
record_id,
action,
old_value,
new_value
)
VALUES (
'products',
NEW.product_id,
'UPDATE PRICE',
OLD.price,
NEW.price
);
END;
- Use a combination of the above methods: You can combine the above methods to create a more descriptive trigger name. For example, the trigger
on_update_customer_email_trigger
would be triggered when theemail
column of a record in thecustomer
table is updated. - Use the column name (if applicable): If the trigger is only fired when a specific column is changed, you can include the column name in the trigger name. For example, the trigger
customer_email_update_trigger
would be triggered when theemail
column of a record in thecustomer
table is updated. - Use the table name: You can include the table name in the trigger name to make it more specific. For example, the trigger
customer_insert_trigger
would be triggered when a new record is inserted into thecustomer
table. - Use a descriptive prefix: You can use a descriptive prefix to indicate the type of trigger, such as
on_insert
,on_update
, oron_delete
. For example, the triggeron_insert_customer_trigger
would be triggered when a new record is inserted into thecustomer
table.
Here are some additional tips for naming database triggers:
- Avoid using spaces or special characters in trigger names. This can make it difficult to use them in SQL statements.
- Use consistent naming conventions throughout your database. This will make it easier for you and others to understand your code.
- Keep the names short and easy to understand. You don't want to have to read a novel to figure out what a trigger does.
Here are some examples of well-named database triggers:
product_price_audit_trigger
order_delete_audit_trigger
on_update_customer_email_trigger
customer_email_update_trigger
customer_insert_trigger
on_insert_customer_trigger
These triggers are all descriptive and easy to understand. They also follow consistent naming conventions.
database triggers