PL/SQL创建表格教程:fare表实例

4星 · 超过85%的资源 需积分: 32 69 下载量 79 浏览量 更新于2024-09-15 收藏 3KB TXT 举报
"PL/SQL建表实例,用于在Oracle数据库中创建fare表的详细结构。" 在Oracle数据库中,PL/SQL是一种结合了SQL和过程编程语言的工具,用于数据库管理和开发。在这个实例中,我们将看到如何使用PL/SQL语句创建一个名为fare的表。表的结构包含了多种数据类型,用于存储与票价相关的详细信息。 1. **表的创建语法**:在Oracle中,使用`CREATE TABLE`语句来创建新的表。例如: ```sql CREATE TABLE fare ( ... ); ``` 2. **字段定义**:表fare包含了以下字段,每种字段都有其特定的数据类型和约束: - **REF_NO**:一个长度为15的字符字段,用于存储参考编号。 - **LOCATION_CODE**:长度为5的字符字段,可能表示出发或目的地的代码。 - **FARE_REC_NO**:一个5位的数字字段,可能是记录编号。 - **FARE_CATEGORY**:一个1位的数字字段,用于区分不同种类的票价。 - **ORI_CODE_TYPE**:一个1位的数字字段,可能代表出发点类型。 - **ORI_CODE**:长度为13的字符字段,表示出发点代码。 - **ORI_CITY_CODE**:长度为5的字符字段,表示出发城市的代码。 - **DEST_CODE_TYPE**:一个1位的数字字段,表示目的地类型。 - **DEST_CODE**:长度为13的字符字段,表示目的地代码。 - **DEST_CITY_CODE**:长度为5的字符字段,表示目的地城市的代码。 - **JOURNEY_TYPE**:长度为3的字符字段,描述旅行类型(如单程、往返等)。 - **FARE_BASIS**:长度为15的字符字段,可能用于记录票价基础信息。 - **BOOKING_CLASS**:长度为2的字符字段,表示预订舱位类别。 - **GLOBAL_DIRECTION**:长度为2的字符字段,可能用于指示行程的方向(如来回、单程)。 - **AMOUNT**:一个11位数字字段,3位小数,存储票价金额。 - **VALUE_CODE**:长度为14的字符字段,可能用于记录货币代码。 - **EFFECTIVE_DATE**:日期字段,非空,表示票价生效日期。 - **DISCONTINUE_DATE**:日期字段,非空,表示票价失效日期。 - **FIRST_TRAVEL_DATE**:日期字段,表示首次旅行日期。 - **LAST_TRAVEL_DATE**:日期字段,非空,表示最后的旅行日期。 - **FIRST_TICKETED_DATE**:日期字段,表示最早购票日期。 - **LAST_TICKETED_DATE**:日期字段,非空,表示最后购票日期。 - **RULE_ID**:长度为13的字符字段,非空,可能是规则ID。 - **INFANT_DISCOUNT_AMOUNT**:11位数字,3位小数,婴儿折扣金额。 - **INFANT_DISCOUNT_PERCENT**:3位数字,婴儿折扣百分比。 - **INFANT_ABSOLUTE_AMT_ENTERED**:1位数字,婴儿绝对折扣金额标志。 - **CHILD_DISCOUNT_AMOUNT**:11位数字,3位小数,儿童折扣金额。 - **CHILD_DISCOUNT_PERCENT**:3位数字,儿童折扣百分比。 - **CHILD_ABSOLUTE_AMT_ENTERED**:1位数字,儿童绝对折扣金额标志。 - **FREE_STOPOVER_OUTBOUND**:2位数字,免费中转次数(出站)。 - **FREE_STOPOVER_INBOUND**:2位数字,免费中转次数(进站)。 - **CHARGEABLE_STOPOVER_OUTBOUND**:2位数字,收费中转次数(出站)。 - **CHARGEABLE_STOPOVER_INBOUND**:2位数字,收费中转次数(进站)。 - **FREE_STOPOVER_TOTAL**:2位数字,总的免费中转次数。 - **ROUTE_LASTNUM**:3位数字,路线顺序号。 - **STOPOVER_LASTNUM**:3位数字,中转站顺序号。 - **WHO_LAST_UPDATE**:未指定数据类型,可能是最后一次更新该记录的用户信息。 3. **约束条件**:在表fare中,`NOT NULL`约束用于限制某些字段不允许为空,确保数据完整性。例如,`EFFECTIVE_DATE`、`DISCONTINUE_DATE`、`LAST_TRAVEL_DATE`和`RULE_ID`字段都设为非空。 这个PL/SQL建表实例展示了如何创建一个复杂的表结构,用于存储航空公司的票价信息,包括各种折扣、日期范围、中转次数等细节,为处理和分析票价数据提供了基础。