PL/SQL创建表及约束实战教程

4星 · 超过85%的资源 需积分: 32 70 下载量 104 浏览量 更新于2024-10-23 收藏 3KB TXT 举报
"该资源是一个PL/SQL编程的实例,主要展示了如何创建一个包含各种字段和约束条件的数据库表。这个表设计用于存储票价信息,包括参考号、地点代码、票价金额、类别、出发和目的地代码等众多细节,以及与旅行相关的各种限制和折扣信息。" 在PL/SQL中,建表是数据库设计的基础步骤。这段代码创建了一个名为`FARE`的表,包含了36个字段,每个字段都有特定的数据类型和约束条件,这些字段涵盖了机票定价和旅行规则的各个方面。 1. `REF_NO`:这是一个15字符长度的`CHAR`类型字段,可能用于存储机票或行程的唯一参考号码。 2. `LOCATION_CODE`:5字符长度的`CHAR`类型,可能是机场或地点的代码。 3. `FARE_REC_NO`:5位数字的`NUMBER`类型,可能是记录编号。 4. `FARE_CATEGORY`:1位数字的`NUMBER`类型,可能表示票价类别。 5. `ORI_CODE_TYPE`和`ORI_CODE`:分别表示出发地类型和代码,用于识别出发城市。 6. `ORI_CITY_CODE`:5字符长度的`CHAR`类型,可能是出发城市的代码。 7. `DEST_CODE_TYPE`和`DEST_CODE`:对应目的地类型和代码。 8. `DEST_CITY_CODE`:5字符长度的`CHAR`类型,目的地城市的代码。 9. `JOURNEY_TYPE`:3字符的`CHAR`类型,可能表示单程、往返或其他类型的旅行。 10. `FARE_BASIS`:15字符的`CHAR`类型,可能表示定价基础或规则。 11. `BOOKING_CLASS`:2字符的`CHAR`类型,通常代表预订舱位等级。 12. `GLOBAL_DIRECTION`:2字符的`CHAR`类型,可能与航班方向有关。 13. `AMOUNT`:11位数字带3位小数的`NUMBER`类型,表示票价金额。 14. `VALUE_CODE`:14字符的`CHAR`类型,可能用于特殊值或折扣代码。 15. `EFFECTIVE_DATE`、`DISCONTINUE_DATE`、`FIRST_TRAVEL_DATE`、`LAST_TRAVEL_DATE`、`FIRST_TICKETED_DATE`和`LAST_TICKETED_DATE`:均为日期类型,分别表示生效日期、终止日期、首次旅行日期、最后旅行日期、首次出票日期和最后出票日期,确保数据的时间有效性。 16. `RULE_ID`:13字符的`CHAR`类型,可能是定价规则的标识。 17. `INFANT_DISCOUNT_AMOUNT`和`INFANT_DISCOUNT_PERCENT`:分别表示婴儿折扣金额和百分比,帮助计算婴儿票价。 18. `INFANT_ABSOLUTE_AMT_ENTERED`:1位数字的`NUMBER`类型,可能用于标记婴儿折扣的绝对金额输入。 19. `CHILD_DISCOUNT_AMOUNT`和`CHILD_DISCOUNT_PERCENT`:儿童的折扣金额和百分比。 20. `CHILD_ABSOLUTE_AMT_ENTERED`:儿童折扣的绝对金额输入。 21. `FREE_STOPOVER_OUTBOUND`、`FREE_STOPOVER_INBOUND`、`CHARGEABLE_STOPOVER_OUTBOUND`和`CHARGEABLE_STOPOVER_INBOUND`:表示免费和收费的中转次数。 22. `FREE_STOPOVER_TOTAL`:总免费中转次数。 23. `ROUTE_LASTNUM`:路线最后编号,可能与航线规划有关。 24. `STOPOVER_LASTNUM`:中转最后编号。 25. `WHO_LAST_UPDATE`:未在文本中完整显示,但可能是记录最后更新者的字段。 这个表设计还包含了`NOT NULL`约束,确保某些字段不能留空,例如`EFFECTIVE_DATE`和`DISCONTINUE_DATE`,这确保了数据的完整性。此外,`RULE_ID`也设置了`NOT NULL`约束,意味着每个记录都必须关联一个定价规则。 总结来说,这个PL/SQL实例是构建一个全面的票价管理系统的起点,涵盖了大量的业务逻辑和规则,为后续的查询、统计和分析提供了基础数据结构。