2009-08-24 5 views
2

저는 데이터베이스 초보자이며 일반적으로 프로그래밍에 익숙하지 않습니다. 테스트 후에 UI가 추가 된 C# 콘솔 앱 (VS Express로 작성 중)의 경우 데이터베이스를 사용하여 데이터를 저장해야합니다.초보자를위한 데이터베이스 질문

은 누군가가 나에게, 또는, 이러한 데이터베이스 액세스 방법의 베어 초보자의 설명 및 장단점, 그래서 내가? 사용

  1. SQLClient 관리해야하는 결정할 수 있습니다 나를 지점 수
  2. ORM
  3. 인 OleDB
  4. ODBC
  5. ADO.NET
  6. nHibernate 수
  7. MS 기업용 라이브러리

답변

6

이 아주 믹스 ... 우선 몇 가지 설명 ...

/데이터 작업 1) SQL 클라이언트 SQL의 클라이언트는 조회/관리의 목적으로 SQL 데이터베이스에 연결하는 응용 프로그램입니다 SQL 데이터베이스에서. (데이터베이스, phpAdmin, SQLite 관리자 등에 액세스하는 모든 프로그램).

2) ORM은 객체 - 관계형 매핑입니다. 데이터 유형이 호환되지 않는 경우 다른 유형의 데이터를 변환하는 방법입니다. 타이어 클래스의 네 가지 인스턴스를 통합하는 자동차 클래스에 대해 생각해보십시오.이 유형의 구조는 데이터베이스 디자인에서 사용 가능한 유형으로 직접 변환되지 않으며 ORM을 사용하는 이유가 될 수 있습니다. (정수, 부동 소수점 형, blob 등)을 일반 데이터베이스 유형 (자동차, 타이어 등)과 연결하려면

3) OLE (발음 올레이) DB Microsoft 메서드 COM을 사용하여 데이터베이스에 연결. OLE DB는 MDAC 스택 (데이터 액세스를위한 프레임 워크에서 함께 작동하는 MS 기술 그룹화)의 일부입니다.

4) ODBC는 개방형 데이터베이스 연결이며 데이터베이스 관리 시스템 (DBMS) 용 대체 API입니다. OLE DB는 COM (구성 요소 개체 모델) 방식으로 데이터베이스와 통합되므로 ODBC 목표는 언어와 무관합니다.

5) ADO.NET은 데이터베이스에 연결하고 데이터베이스와 통신하기 위해 .NET 언어로 사용되는 기본 클래스 (API) 집합입니다. 나는 당신의 C#을 배경 ADO.net로 시작하는 제안

는 OLE 여기 좋은 초보자 튜토리얼이있다, 나이 (VB 고전) 애플리케이션에 일반적으로 http://www.csharp-station.com/Tutorials/AdoDotNet/Lesson01.aspx

모든 용어가 꺼져 당신을 놀라게하지 마세요 일단 점프하고 땜질하기 시작하면 더 나은 답변을 모두 이해할 수 있습니다 ...

최고의 코딩 행운을 !! :-)

+0

ADO.Net에서 시작하는 이유는 무엇입니까? LINQ는 새로운 친숙한 프레임 워크입니다. ADO.Net 데이터 집합에서 수동 낙관적 동시성을 이해하려고 시도하는 ADO.Net보다 Linq를 사용하면 생산성이 5 배 향상됩니다. Lynq는 언어를 확장하고 데이터베이스 작업에 필요한 세부 사항을 추상화하기 때문에 Linq를 배우는 것이 C#의 기능적 프로그래밍 측면의 훌륭한 애플리케이션이라는 것을 C#에 익숙하지 않은 것은 말할 것도 없습니다. – Spence

+1

학습 개발자는 실제로 데이터베이스에 대해 배우고 데이터베이스와 상호 작용하는 방법을 배우게됩니다. LINQ를 처음 배우는 것은 .net을 떠나 자마자 새로운 개발자를 혼란에 빠뜨리고 나머지 세계를 살펴 봅니다. (그냥 MHO) –

+0

다음 생산성을 배우십시오. 아니면 생산적으로 배울 수 있습니까? – Spence

3

SQLClient, OleDB, ODBC는 다양한 DMBS의 DBMS 드라이버/ADO.NET 구현입니다 (오류, 희망 사항). 예를 들어, SQLClient는 SQL Server 데이터베이스에 연결하기위한 ADO.NET 구현입니다. 이 드라이버들 사이의 선택은 당신이 사용하고자하는 데이터베이스 일뿐입니다. 초보자의 경우 SQL Server를 이미 설치 했으므로 SQL Server를 제안 할 것입니다.

ORM은 객체 - 관계형 매핑입니다. 이는 코드 기반 모델과이를 저장하는 데이터베이스 간의 자동 매핑을 코드 기반으로 구현 한 것입니다. 학습하면서 당분간 데이터베이스를 수동으로 다루지 않으려면 좋은 옵션입니다. 전문가와 초보자 모두에게 유용합니다. 기본 데이터베이스 구현에 대해 걱정할 필요가 없기 때문입니다. CRUD (작성, 읽기, 업데이트, 삭제) 기능을 직접 작성하십시오. ActiveRecord for the net (http://www.castleproject.org/activerecord/index.html)

1

C#의 데이터베이스를 쉽게 찾으려면 LINQ와 데이터 컨텍스트를 사용하고 싶습니다.

"데이터 컨텍스트"를 프로젝트에 추가하기 만하면됩니다. 파일을 두 번 클릭하여 LINQ 데이터 컨텍스트 디자이너를 엽니 다. 보기 아래의 Visual Studio에서 "서버 탐색기"를 열고 SQL Server에 연결하십시오. 이를 사용하여 Visual Studio에서 LINQ 디자이너로 테이블을 끌어다 놓을 수 있습니다.

google로 이동하고 DB에서 작업을 수행 할 수있는 컨텍스트가있는 linq를 사용해보십시오.

LINQ를 사용하여 더 나은 데이터베이스 코드를 작성하고, 전체 데이터 세트를 한 번에 가져와 조작하고, 쿼리를 연기하지 않으며, 많은 이점을 누릴 수 있다고 말하기 위해 여기로 건너 뜁니다. 그들이 구축 한 기능적 인프라.

그러나 이것은 큰 학습 곡선을 가지고 있습니다. 최선의 방법은 다양한 종류의 코드를 시도하고 이해할 수있는 방법을 찾는 것입니다.