.NET 面试中的数据库问题

什么叫关系型数据库和非关系型数据库?

  关系型数据库:结构化存储,以列表形式,有表之间由主键外键关联,需要预先定义表的结构。通常支持ACID,对数据一致性要求较高的场景。

  常见的关系型数据库:Oracle、SQL Server、Mysql、Sqlsugar、PostgreSQL 

  应用场景:传统业务系统,如银行、财务管理、ERP、CRM等,对数据一致性和复杂关系操作要求高的场景。

  

  非关系:灵活结构存储(键值存储、文档、列族、图、等形式)不需要固定模式。可增加服务器分布存储,适合大规模数据和高并发需求。

  非关系型数据库弱一致性,通常采用最终一致性,更注重性能。没有统一的查询语言,而是采用不同的API查询。

 

  常见的非关系型数据库

 

  键值数据库:Redis(内存数据结构存储,适合快速访问), DynamoDB

  文档数据库:MongoDB(文档型NoSQL数据库), Couchbase

  列族数据库:Apache Cassandra, HBase

  图数据库:Neo4j, JanusGraph

 

  适用场景:实时分析和日志处理,如社交网络、物联网、用户行为分析等,需要高并发和高吞吐量的系统,如电商平台、推荐系统等。

 

 

 

 

 

常用数据库类型

  

  这两种数据库分别在什么场景下面使用?为什么要分别使用这两种类型?

  SQL Server、Access、Oracle三种数据库之间的区别?

  SQL Server是微软的数据库产品,可以说交互性比较好,和微软的一系列产品,结合度比较好。

  Access 是小型数据库

 

  mysql 不支持试图 ,方法,事物,触发器,等,适合小型展示型万展。

 

  Oracle 大型数据库,跨平台性比较好

 

SQL语句

   复杂的SQL语句

 

存储过程、索引、事件。

 

连接查询语句

  Inner Join 和 Left Join 的区别

  inner 完全相等的时候才连

数据库索引

  SQL Server中的索引

 

SQL Server中的锁

 

如何排查和提高SQL语句的性能

大型数据查询 如何优化?数据量处理?

 

 

 

Entity Framework(ORM)、Dapper(ORM)、ADO.NET

 

缓存:Rides(主流)、Memcacha。 

数据:Hadoop(互联网大型数据库)、

被遗弃的工具:Sping.NET、Sharepoint,AD、NHibernate(ORM,淘汰)、

posted @ 2024-12-06 12:54  多罗贝勒  阅读(11)  评论(0)    收藏  举报