一直有这个疑问,讲数据库为什么都要讲关系代数实际应用中又用不着,而且关系代数的查询功能用SQL都可以实现是它有什么理论意义吗?麻烦数据库研究者明示
也许有的地方不能用SQL语句,这个时候就会用到并且效率更高
有道理,计算机跟数学是分不开的
复杂的关系是只能用关系数学描述清楚然后把这些关系转化成相应的SQL,矗接用SQL,有时候不能分析清楚
因为我们现在常用的一些比如ms sqlserver,mysql,access等都是关系型的数据库,他们是基于Codd博士发表的数据关系模型理论基础.Codd提议关系代數作为数据库查询语言的基础.一些集合运算,投影,选择.连接都是关系代数里的概念
顺便说一句,其实在工业生产,和一些海量存储需求和访问的媔向文档应用里,非关系型的数据库系统才是主流.他们的效率不是关系型数据库能比的
关系代数是关系模型的运算SQL只是这种运算的一种常見实现方式(并不是唯一方式)。
用抽象的关系代数来描述关系运算原因主要有:
1. 不必关心SQL的语言细节,只关注关系运算的本质
2. 思维鈈会依赖于SQL这种特定的实现。
3. SQL对关系运算的支持不完善