SQL Server数据库与T-SQL开发教程课件

版权申诉
0 下载量 66 浏览量 更新于2024-10-07 收藏 969KB RAR 举报
资源摘要信息: "本资源是一套关于Microsoft SQL Server的PPT课件,适合于教学或自学使用。它详细介绍了数据库基础知识、Microsoft SQL Server 2005的概览、SQL Server编程工具以及Transact-SQL语言的使用、SQL Server数据库的设计方法以及SQL Server 2005数据库的具体实现,还包括了数据库表和数据库关系的创建与管理。" 1. 数据库基础知识:课件的第一讲内容是数据库及Microsoft SQL Server 2005的基础介绍,这包括了数据库的基本概念、数据管理的重要性、数据库的类型、数据库管理系统(DBMS)的基本功能以及SQL Server的历史与发展。学习这部分内容的目的是为了让学习者对数据库和SQL Server有一个全面的了解,为后续深入学习打下坚实的基础。 2. SQL Server 编程工具和Transact-SQL:在第二讲中,课程讲解了SQL Server的主要编程工具,如SQL Server Management Studio (SSMS)、SQLCMD以及Visual Studio的使用,并深入探讨了Transact-SQL (T-SQL) 语言。Transact-SQL是SQL Server中用于数据定义、操作、控制以及事务管理的扩展SQL语言,它是编写数据库操作代码的核心技术。这一部分对于掌握SQL Server的操作和管理至关重要。 3. 设计SQL Server数据库:第三讲专注于数据库的设计。这里会讲到如何根据实际需求规划数据库结构,包括数据库逻辑设计和物理设计。内容涵盖关系数据库设计理论、数据规范化、索引的建立和优化、存储过程的编写以及触发器的概念和应用等。数据库设计对于保证数据的完整性和提高查询效率至关重要。 4. 实现SQL Server 2005数据库:第四讲会具体指导如何实现SQL Server 2005数据库。这一部分内容包括了数据库的创建、配置、备份与恢复等操作。学习者将掌握如何使用T-SQL语言来创建数据库对象,如表、视图、索引等,以及如何进行数据的导入导出操作和数据库的日常维护工作。 5. 数据库表和数据库关系的实现:最后,在第五讲中,课件将介绍如何实现数据库表和管理数据库关系。这部分内容会详细讲解如何创建和管理数据库表,如何通过主键、外键等约束确保数据的完整性和一致性,以及如何通过索引来优化数据的查询效率。此外,还会涉及到关系数据库中多表关系的实现和管理,如一对一、一对多、多对多关系的处理,以及如何使用SQL语句来操作这些关系。 总结来说,这套PPT课件是对数据库基础知识、SQL Server 2005操作和管理、T-SQL编程以及数据库设计与实现的全面介绍,非常适合那些希望学习SQL Server或需要对数据库进行管理和操作的用户。通过这套课件,用户能够系统地学习到如何构建和维护一个高效的数据库系统。

SELECT PIS.SHOW_FLT_DETAIL AS SHOW_FLT_DETAIL -- new , PIS.SHOW_AWB_DETAIL AS SHOW_AWB_DETAIL -- new , PIS.DISPLAY_AIRLINE_CODE AS CARRIER_CODE , DECODE(PIS.REVERT_FLOW,'N',PIS.FLOW_TYPE,DECODE(PIS.FLOW_TYPE,'I','E','I')) AS FLOW_TYPE , PIS.SHIP_TO_LOCATION AS SHIP_TO_LOCATION , PIS.INVOICE_SEQUENCE AS INVOICE_SEQUENCE , PFT.FLIGHT_DATE AS FLIGHT_DATE , PFT.FLIGHT_CARRIER_CODE AS FLIGHT_CARRIER_CODE , PFT.FLIGHT_SERIAL_NUMBER AS FLIGHT_SERIAL_NUMBER , PFT.FLOW_TYPE AS AIRCRAFT_FLOW , FAST.AIRCRAFT_SERVICE_TYPE AS AIRCRAFT_SERVICE_TYPE , PPT.AWB_NUMBER AS AWB_NUMBER , PPT.WEIGHT AS WEIGHT , PPT.CARGO_HANDLING_OPERATOR AS CARGO_HANDLING_OPERATOR , PPT.SHIPMENT_PACKING_TYPE AS SHIPMENT_PACKING_TYPE , PPT.SHIPMENT_FLOW_TYPE AS SHIPMENT_FLOW_TYPE , PPT.SHIPMENT_BUILD_TYPE AS SHIPMENT_BUILD_TYPE , PPT.SHIPMENT_CARGO_TYPE AS SHIPMENT_CARGO_TYPE , PPT.REVENUE_TYPE AS REVENUE_TYPE , PFT.JV_FLIGHT_CARRIER_CODE AS JV_FLIGHT_CARRIER_CODE , PPT.PORT_TONNAGE_UID AS PORT_TONNAGE_UID , PPT.AWB_UID AS AWB_UID , PIS.INVOICE_SEPARATION_UID AS INVOICE_SEPARATION_UID , PFT.FLIGHT_TONNAGE_UID AS FLIGHT_TONNAGE_UID FROM PN_FLT_TONNAGES PFT , FZ_AIRLINES FA , PN_TONNAGE_FLT_PORTS PTFP , PN_PORT_TONNAGES PPT , FF_AIRCRAFT_SERVICE_TYPES FAST , SR_PN_INVOICE_SEPARATIONS PIS --new , SR_PN_INVOICE_SEP_DETAILS PISD--new , SR_PN_INV_SEP_PORT_TONNAGES PISPT --new WHERE PFT.FLIGHT_OPERATION_DATE >= trunc( CASE :rundate WHEN TO_DATE('01/01/1900', 'DD/MM/YYYY') THEN ADD_MONTHS(SYSDATE,-1) ELSE ADD_MONTHS(:rundate,-1) END, 'MON') AND PFT.FLIGHT_OPERATION_DATE < trunc( CASE :rundate WHEN TO_DATE('01/01/1900', 'DD/MM/YYYY') THEN TRUNC(SYSDATE) ELSE TRUNC(:rundate) END, 'MON') AND PFT.TYPE IN ('C', 'F') AND PFT.RECORD_TYPE = 'M' AND (PFT.TERMINAL_OPERATOR NOT IN ('X', 'A') OR (PFT.TERMINAL_OPERATOR <> 'X' AND FA.CARRIER_CODE IN (SELECT * FROM SPECIAL_HANDLING_AIRLINE) AND PPT.REVENUE_TYPE IN (SELECT * FROM SPECIAL_REVENUE_TYPE) AND PPT.SHIPMENT_FLOW_TYPE IN (SELECT * FROM SPECIAL_SHIPMENT_FLOW_TYPE) AND PFT.FLIGHT_OPERATION_DATE >= (select EFF_DATE from SPECIAL_HANDLING_EFF_DATE) )) AND PFT.DELETING_DATETIME IS NULL AND FA.AIRLINE_UID = PFT.AIRLINE_UID AND FA.DELETING_DATETIME IS NULL AND PTFP.FLIGHT_TONNAGE_UID = PFT.FLIGHT_TONNAGE_UID AND PTFP.RECORD_TYPE = 'M' AND PTFP.DELETING_DATETIME IS NULL AND PPT.TONNAGE_FLIGHT_PORT_UID (+)= PTFP.TONNAGE_FLIGHT_PORT_UID AND PPT.RECORD_TYPE (+)= 'M' AND PPT.DISCREPANCY_TYPE (+)= 'NONE' AND PPT.ADJUSTMENT_INC_FLAG (+)= 'Y' AND PPT.DELETING_DATETIME (+) IS NULL AND FAST.AIRCRAFT_SERVICE_TYPE_UID = PFT.AIRCRAFT_SERVICE_TYPE_UID AND FAST.DELETING_DATETIME IS NULL AND PIS.TEMPORAL_NAME = TO_CHAR((CASE :rundate --new WHEN TO_DATE('01/01/1900', 'DD/MM/YYYY') THEN TRUNC(SYSDATE) ELSE TRUNC(:rundate) END ), 'YYYYMM') || '00' AND PIS.INVOICE_SEPARATION_UID = PISD.INVOICE_SEPARATION_UID --new AND PISD.INVOICE_SEP_DETAIL_UID = PISPT.INVOICE_SEP_DETAIL_UID --new AND PISPT.PORT_TONNAGE_UID = PPT.PORT_TONNAGE_UID --new AND PIS.PRINT_SUPPORTING_DOC = 'Y';上面是oracle的写法,请转成spark SQL的写法。

2023-06-02 上传