📜  SQL查询中的生产数据库

📅  最后修改于: 2021-08-25 17:49:27             🧑  作者: Mango

SQL是一种结构化查询语言,它是一种用于存储,处理和检索关系数据库中存储的数据的计算机语言。 SQL是最强大的数据处理工具。可行的建议可帮助您获得最通用的语言并创建美观,有效的查询。 SQL有效地用于插入,搜索,更新,删除,修改数据库中的记录。这并不意味着SQL不能做其他事情。它也可以做很多其他事情。在SQL中,数据是以关系形式存储的。这种关系理论是由博伊斯和Chamberlin建议的。关系软件是最早发布和更改SQL版本的公司,它称为Oracle V2。 SQL于1986年成为美国国家标准协会(ANSI)和1987年国际标准化组织(ISO)的标准。

让我们借助示例来理解。

示例1:
用于创建CUSTOMERS表以获取个人信息的SQL查询,如下所示。

CREATE TABLE CUSTOMERS (
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25),
ORDERS VARCHAR (155)
);

示例2:
用于创建CUSTOMERS表的SQL查询如下。

CREATE TABLE CUSTOMERS (
CUS_ID INT NOT NULL,
CUST_NAME VARCHAR(20) NOT NULL,
DOB DATE,
STREET VARCHAR (200),
CITY VARCHAR (100),
STATE VARCHAR (100),
EMAIL_ID VARCHAR (256),
PRIMARY KEY ( CUST_ID)
);

生产数据库在SQL查询中的用途:

1.业务需求–
识别利益相关者,专注于业务成果,讨论最佳需求,提出重要问题,具体需求并与利益相关者确认。

2. SELECT字段–
使用SELECT语句将使数据库指向仅查询满足业务需求所需的数据。让我们借助示例来理解。例如 –

低效–

SELECT * FROM Customers     

高效的 –

SELECT FirstName, Last name, Address,City,State,Zip  
FROM Customers       

3.避免选择DISTINCT –
SELECT DISTINCT是从查询中删除重复项的一种方法。 SELECT DISTINCT通过对查询中的所有字段进行分组来工作。

效率低下和不准确–

SELECT DISTINCT FirstName, Last name, State 
FROM Customers       

高效而准确–

SELECT FirstName, LastName, Address, City, State, Zip              
FROM Customers        

4.加入(不在哪里)–

SELECT Customers.CustomerID, Customers. Name, Sales. Last Sale.Date FROM Customers, Sales 
WHERE Customers.CustomerID = Sales.customerID 

这种类型的联接会创建笛卡尔联接,也称为笛卡尔乘积或CROSS JOINT

内部联接 –

SELECT Customers.CustomerID, Customers.Name , Sales.Last SaleDate  
from Customers 
INNER JOIN Sales ON customers.CustomerID  = 
Sales.CustomerID 

DBMS系统能够识别WHERE联接,并自动将它们作为INNER联接运行。

5.使用where而不需要定义过滤器–
有效的SQL查询的目标必须对从数据库中仅获取所需的记录有用。例如,假设在2017年实现了300笔销售,我们想查询2017年每位客户的销售数量。

SELECT Customers.customerID,Customers.Name,Count (sales.saleID)
FROM Customers
INNER JOIN Sales       
ON Customers.CustomerID = Sales.CustomerID        
GROUP BY Customers.CustomerID,Customers.Name      
HAVING Sales.Last SaleDate 
BETWEEN     
#1/1/2017# AND #12/31/2017#

6.最后使用通配符–
使用通配符,尤其是与末尾通配符结合使用时,数据库的任务是在所有记录中搜索选定字段内任何位置的匹配项。

SELECT City FROM Customers                     
WHERE city LIKE '%char%' 

7.在非高峰时段运行查询–
提高性能并避免由于其他活动(例如更新,修补,错误修复脚本和其他脚本等)而导致的任何生产负载始终必须在非高峰时间运行,这始终是一个好主意。

以下条件可用于您的查询,如下所示。

  • 从大表中选择
  • 笛卡尔联接
  • 循环语句
  • 嵌套子查询。

特征 :

  • 高性能–
    SQL提供了高性能的编程功能,繁重的工作量和高使用率的数据库系统。它提供了多种方式来描述数据。
  • 高可用性 –
    它与MS Access,Microsoft SQL Server,MY SQL,Oracle数据库等数据库兼容。关系数据库管理支持SQL。创建用于过程编程的应用程序扩展很容易。
  • 可扩展性和灵活性–
    创建新表非常容易,并且先前创建或未使用的表可以在数据库中删除或删除。
  • 高安全性–
    提供对表,过程和视图的权限很容易,因此可以为您的数据提供安全性。

结论 :
使用可重复使用的查询设计对象。其他对象可以参考,可以节省我们的开发时间。我们将需要重新开发参考对象。当我们进行更改时,它会跟踪从注释到元数据的引用,然后引入一些问题。由于查询是临时的或易于开发的,因此在某些情况下可能不需要引用。