Tìm kiếm Blog này

Thứ Hai, 17 tháng 1, 2011

Làm quen với Hệ quản trị CSDL SQL Server 2008

Chắc các bạn cũng đã từng làm qua MS Access và fox rồi nhỉ những HQT đó nói chung chư đáp ứng nổi yêu cầu hiện nay của người dùng, nhận thấy được điều đó mà hãng phần mềm khổng lổ đã tung ra dòng sản phẩm cực mạnh là SQL qua các thế hệ và phát triển của nó cực mạnh.
Hôm nay mình xin giới thiệu cho các bạn về phiên bản SQL Server 2008.



Microsoft® SQL Server™ 2008 là trái tim của một nền tảng dữ liệu toàn diện, cho phép bạn có thể truy cập và gia công dữ liệu cho doanh nghiệp từ các thiết bị khác nhau, các nền tảng và dịch vụ dữ liệu trong doanh nghiệp.
Nền tảng dữ liệu của Microsoft 
Cuộc cách mạng trong việc phát triển các ứng dụng cơ sở dữ liệu 

Microsoft® SQL Server™ 2008 là trái tim của một nền tảng dữ liệu toàn diện, cho phép bạn có thể truy cập và gia công dữ liệu cho doanh nghiệp từ các thiết bị khác nhau, các nền tảng và dịch vụ dữ liệu trong doanh nghiệp. 

Các tính năng mới điển hình

  • Ánh xạ các cấu trúc dữ liệu cho các thực thể của doanh nghiệp bằng ADO.NET Entity Framework mới 
  • Sử dụng cú pháp thích hợp để truy vấn dữ liệu gồm nhiều loại khác nhau thông qua những phần mở rộng của ngôn ngữ truy vấn tích hợp .NET (LINQ) cho Microsoft Visual C#® và Microsoft Visual Basic® .NET 
  • Tạo các giải pháp kết nối bằng SQL Server 2008 Compact Edition và Microsoft Synchronization Services 
  • Lưu trữ dữ liệu hợp nhất thông qua SQL Server 2008 hỗ trợ cho dữ liệu quan hệ, XML, Filestream và dựa trên vị trí địa lý.
Tính năng suất 

Tính năng suất được cải thiện, cho phép các chuyên gia phát triển phần mềm có được năng suất cao trong công việc bằng sự tích hợp xuyên suốt giữa các kiến trúc (framework), các công nghệ kết nối dữ liệu, các ngôn ngữ lập trình, dịch vụ Web, công cụ phát triển và dữ liệu. 

Xây dựng các ứng dụng trung tâm dữ liệu thế hệ kế tiếp với ADO.NET Entity Framework 
Định nghĩa một mô hình đối tượng trên khái niệm phong phú dựa vào Entity Data Model (EDM) và các bảng cơ sở dữ liệu logic và các cột trong thực thể mức cao hơn. Mô hình hóa các ứng dụng cơ sở dữ liệu nhanh bằng sử dụng ADO.NET Entity Framework để tạo các thực thể đáp ứng chặt chẽ với nhu cầu doanh nghiệp. Cho phép tập trung vào việc phát triển các giải pháp doanh nghiệp mà không phải quan tâm về cách dữ liệu được tổ chức ra sao trong một cơ sở dữ liệu. Hiểu và duy trì ở mọi kích cỡ của ứng dụng cơ sở dữ liệu bằng việc trừu tượng hóa mô hình dữ liệu khái niệm từ cách dữ liệu được lưu ra sao trong một cơ sở dữ liệu. 

Truy vấn truy cập dữ liệu với LINQ 

Lợi dụng các mở rộng của ngôn ngữ truy vấn đối với C# và Visual Basic .NET. Sử dụng cú pháp thích hợp để truy vấn dữ liệu từ các kho dữ liệu mong muốn, cụ thể là gồm có các thực thể, các cơ sở dữ liệu quan hệ, XML, ADO.NET DataSet và các đối tượng trong bộ nhớ. Lợi dụng khả năng xử lý dữ liệu hiệu quả của LINQ cũng như thiết kế kiểm tra lỗi và sự hợp lệ kiểu. Giảm được số lượng mã cần thiết cho việc truy cập dữ liệu, và làm cho các ứng dụng được duy trì hiệu quả hơn, đơn giản hơn.
Click to view full size
Ngôn ngữ truy vấn (LINQ)

Khai thác các công nghệ nền tảng dữ liệu với Visual Studio 
Mang tất cả các công nghệ nền tảng dữ liệu của Microsoft (Microsoft Data Platform) vào cùng một sản phẩm để có thể sử dụng dễ dàng và hiệu quả đó là Microsoft Visual Studio®. Viết mã cho nhiều ứng dụng Internet phong phú, các ứng dụng trình khách và trình chủ, sự cảm nhận môi trường phát triển mạnh mẽ xuyên suốt từ đầu đến cuối trong quá trình phát triển ứng dụng. Nâng cao năng suất thông qua Microsoft IntelliSense® và sự hỗ trợ kèm theo cho ADO.NET Entity Framework và LINQ. Sự cộng tác triệt để giữa các kiến trúc sư, các chuyên gia phát triển và kiểm tra viên bằng Visual Studio Team System Edition. 

Khả năng toàn diện 

Phát triển các giải pháp dữ liệu tập trung cho phép truy cập, sử dụng và quản lý dữ liệu từ bất kỳ nguồn dữ liệu nào và cho phép phân phối hiệu quả đến người dùng thích đáng. 

Lợi dụng được hành loạt các công nghệ kết nối dữ liệu 

Truy cập dữ liệu mọi nơi thông qua các công nghệ kết nối gồm:
  • ODBC drivers
  • OLE DB data providers
  • ADO.NET data providers
  • ADO.NET Entity Framework
  • LINQ
  • Các công nghệ không phải của Microsoft (Non-Microsoft): XML, JDBC, và PHP drivers.
Mọi dữ liệu, mọi lúc, mọi nơi 

Xây dựng các ứng dụng tập trung dữ liệu có thể truy cập dữ liệu ảo mọi lúc, mọi nơi bằng một loạt các ngôn ngữ lập trình đã có, các công nghệ kết nối dữ liệu và các kiến trúc lập trình. 

Khả năng nâng cấp 
Xây dựng các giải pháp dữ liệu tập trung có khả năng nâng cấp nhằm đáp ứng cho bất kỳ luồng công việc nào từ thiết bị nhỏ nhất đến các máy chủ lớn nhất và cho phép các ứng dụng của bạn có khả năng nâng cao với những yêu cầu của doanh nghiệp. 

Mở rộng phạm vi và khả năng nâng cấp thông qua các hệ thống được kết nối 

Hỗ trợ khả năng lưu trữ online và offline bằng cách sử dụng SQL Server Compact edition kết hợp với Microsoft Synchronization Services. Mở rộng phạm vi và khả năng nâng cấp các giải pháp dịch vụ dữ liệu của bạn bằng việc phân bố các luồng công việc truy cập dữ liệu qua các thiết bị khách cũng như các máy chủ cơ sở dữ liệu. 

Lưu bất kỳ kiểu dữ liệu nào 
Tập trung và tối ưu hóa kho lưu trữ dữ liệu cho các ứng dụng bằng một loạt các kiểu dữ liệu trong SQL Server 2008 có hỗ trợ cho:
  • Dữ liệu quan hệ
  • Các tài liệu XML
  • Filestream
  • Dữ liệu không gian và dựa trên vị trí địa lý
Lợi dụng những điểm tối ưu trong lưu trữ dữ liệu của SQL Server 2008 như kiểu dữ liệu VARDECIMAL, đây là kiểu dữ liệu cho phép tối thiểu hóa được khoảng trống cần thiết cho việc lưu dữ liệu số, những hỗ trợ mới cho Sparse Columns đã giảm được việc lưu trữ các overhead của dữ liệu “null”. 

Xây dựng các ứng dụng có khả năng nâng cấp cao với SQL Server 2008 

Phát triển các thủ tục cho hiệu suất cao có thể truy cập và quản lý dữ liệu trong một cơ sở dữ liệu thông qua sự tích hợp SQL Server Common Language Runtime (CLR) bằng cách sử dụng Microsoft .NET Framework và các ngôn ngữ lập trình đã có như C# và Visual Basic .NET. Tạo sự không đồng bộ, các giải pháp dựa trên message sử dụng cấu trúc hướng dịch vụ để điều chỉnh trong toàn bộ doanh nghiệp và phát triển xa hơn nữa với Service Broker. Xây dựng các giải pháp có khả năng nâng cấp cao giải pháp dữ liệu phân bố bằng sử dụng sự hỗ trợ cho các chuẩn như SOAP và HTTP. Microsoft Data Platform cung cấp một loạt công nghệ và sản phẩm cho phép các chuyên gia phát triển phần mềm có thể xây dựng được các ứng dụng cơ sở dữ liệu mạnh mẽ phù hợp với nhu cầu của bất kỳ doanh nghiệp nào. 

Để có thêm thông tin chi tiết về Microsoft SQL Server 2008, bạn có thể tham khảo tại đường dẫn http://www.microsoft.com/sql/.

Khái niệm về ADO.NET Entity Framework

The ADO.NET Entity Framework đơn giản hoá mã truy cập dữ liệu trong các ứng dụng bằng cách cho phép các nhà phát triển để tạo ra một mô hình tùy biến khái niệm cho các dữ liệu từ bất kỳ nguồn nào và dễ dàng đồ nó để yêu cầu kinh doanh.

The ADO.NET Entity Framework là cơ sở dữ liệu độc lập và xây dựng dựa trên một mô hình chuẩn cung cấp ADO.NET cho phép truy cập vào cơ sở dữ liệu của bên thứ ba thông qua việc sử dụng ADO.NET liệu cung cấp. Các nhà cung cấp của bên thứ ba đang có sẵn.


KHÁI NIỆM VỀ ADO.NET ENTITY FRAMEWORK

ADO.NET Entity Framework như giản đồ của các dữ liệu được lưu trữ trong cơ sở dữ liệu và trình bày giản đồ khái niệm ứng dụng của nó. Giản đồ này được ánh xạ từ cơ sỡ dữ liệu.
 

Những bất lợi của ADO.NET Entity Framework Nếu cơ sỡ dữ liệu thay đổi các quan hệ thì ADO.NET Entity sẽ không thay đổi theo, bạn phải update mới từ ADO.NET Entity đã có.
 

Mô hình này vượt qua mối quan hệ giữa các bản ghi là rất khác nhau từ các mô hình sử dụng trong các đối tượng ngôn ngữ lập trình theo định hướng, nơi mà các mối quan hệ của các tính năng của một đối tượng tiếp xúc như là thuộc tính của đối tượng và truy cập vào các bảng đi qua các mối quan hệ. Ngoài ra, việc sử dụng các truy vấn SQL diễn tả như ở đây, chỉ để xử lý cơ sở dữ liệu, giữ cho các ngôn ngữ lập trình luôn làm cho bất kỳ sự bảo đảm về hoạt động và biên dịch từ việc cung cấp thông tin về thời gian.

Các bản đồ của giản đồ vật lý định nghĩa như thế nào dữ liệu có cấu trúc và lưu trữ trên đĩa là công việc của hệ thống cơ sở dữ liệu và cơ chế khách hàng truy cập, dữ liệu được shielded như là cơ sở dữ liệu cho thấy nhiều dữ liệu trong cách xác định bởi giản đồ hợp lý của nó.

KIẾN TRÚC CỦA ADO.NET ENTITY FRAMEWORK


Nguồn cung cấp dữ liệu cụ thể (Data source specific providers): trong đó tóm tắt các giao diện ADO.NET để kết nối với cơ sở dữ liệu khi lập trình đối với các khái nệm schema.

Cung cấp bản đồ (Map provider):  một cơ sở dữ liệu cụ thể mà nhà cung cấp dịch cây lệnh Entity SQL vào nguồn gốc một truy vấn SQL trong cơ sở dữ liệu. Nó bao gồm Store cụ thể, là thành phần chịu trách nhiệm dịch lệnh vào một Store cụ thể .

EDM phân tích cú pháp, lập và xem bản đồ (EDM parser and view mapping): với đặc tả SDL của mô hình dữ liệu và làm thế nào nó lên bản đồ mô hình quan hệ tiềm ẩn và cho phép lập trình trên các mô hình. Từ giản đồ quan hệ, nó tạo ra xem các dữ liệu tương ứng với các mô hình. Nó tập hợp thông tin từ nhiều bảng để tổng hợp chúng thành một thực thể, và chia tách một cập nhật cho một thực thể cập nhật nhiều vào bảng nào.

Truy vấn và cập nhật (Query and update pipeline): các quá trình truy vấn, các bộ lọc và cập nhật, được yêu cầu để chuyển chúng thành cây lệnh kinh điển mà sau đó được chuyển đổi thành truy vấn cụ thể của các cấp bản đồ.

Dịch vụ siêu dữ liệu (Metadata services):  trong đó xử lý tất cả các siêu dữ liệu liên quan đến các thực thể, mối quan hệ và ánh xạ.

Giao dịch (Transactions): để tích hợp với khả năng giao dịch của các store nằm bên dưới. Nếu storenằm bên dưới không hỗ trợ giao dịch, nó cần phải được thực hiện tại lớp này.

Ý tưởng lớp API (Conceptual layer API): trong thời gian đó cho thấy nhiều mô hình cho các lập trình mã hóa chống lại các khái niệm giản đồ. Nó theo mô hình ADO.NET của việc sử dụng các đối tượng kết nối để tham khảo các nhà cung cấp bản đồ, các đối tượng sử dụng lệnh để gửi các truy vấn, và trả lại EntityResultSets hoặc EntitySets có kết quả.

Ngắt kết nối các thành phần (Disconnected components): trong đó tại địa phương datasets cache và bộ thực thể để sử dụng ADO.NET Entity Framework trong một môi trường đôi khi kết nối.
  • Nhúng vào cơ sở dữ liệu (Embedded database): ADO.NET Entity Framework bao gồm một cơ sở dữ liệu nhúng nhẹ cho client-side caching và truy vấn các dữ liệu quan hệ.
Thiết kế các công cụ (Design tools): như là đồ Designer cũng được bao gồm với ADO.NET Entity Framework mà đơn giản hoá việc làm trên bản đồ một giản đồ khái niệm để các giản đồ quan hệ trong đó nêu rõ tính chất của một loại thực thể tương ứng với những bảng trong cơ sở dữ liệu.

Lớp Lập trình (Programming layers,): trong đó cho thấy nhiều các EDM như lập trình xây dựng có thể được tiêu thụ bởi các ngôn ngữ lập trình.
  • Dịch vụ đối tượng (Object services) : tự động tạo ra các mã cho các lớp học CLR mà phơi bày các tài sản như một thực thể, do đó cho phép các thực thể như instantiation đối tượng .NET .
  • Dịch vụ Web (Web services) : trong đó vạch trần thực thể như các dịch vụ web.
Cao cấp dịch vụ (High level services): như báo cáo dịch vụ làm việc trên các thực thể hơn là các dữ liệu quan hệ. 

Tùy biến địa chỉ Url cho website với ASP.NET MVC

Bài viết này mình sẽ nói làm thế nào để tùy biến địa chỉ url cho website với một vài thao tác đơn giản khi sửa đổi route và link để làm cho url thân thiện hơn!,đây là cách làm của mình,không biết thực tế người ta làm như thế nào nữa,nhưng kết quả theo mình cũng k tệ lắm,bắt chước gần giống với báo dân trí :D
Bình thường khi tạo một ứng dụng ASP.NET MVC,khi ta click vào một liên kết nào đó,nó sẽ gọi cho ta một action và truyền tham số tương ứng với action đó.
ví dụ trong hình ảnh sau : 
ảnh ghi url
tương ứng trong HomeController có 1 Action Xem với tham số truyền vào là id=13,nó sẽ trả về một bản ghi có khóa là 13,,nội dung là một bài viết của chúng ta! url được sinh ra tương ứng là
http://localhost:4021/Home/Xem/13  khi đó nếu phía sau id=13 ta chèn thêm một chuỗi ví dụ như http://localhost:4021/Home/Xem/13/Gioi-Thieu-Hue thì browser sẽ báo lỗi liền,do nó không tìm thấy được cái request url và thông báo lỗi : 


Server Error in '/' Application.

The resource cannot be found.

Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable.  Please review the following URL and make sure that it is spelled correctly. 

Requested URL: /Home/Xem/17/Gioi-Thieu-Hue 


Khi duyệt web trên mạng,việc click vào một cái link trên đó thể hiện rõ một phần nội dung của bài viết thì thật tiện lợi cho người sử dụng và bộ máy tìm kiếm,ví dụ bạn đọc báo dân trí với đường link sau http://dantri.com.vn/c728/s728-436018/cu-ong-84-tuoi-thi-tot-nghiep-tieu-hoc.htm thì nhìn cũng dễ chịu hơn. ở cấp độ đơn giản,chúng ta cũng sẽ làm việc tương tự để áp dụng vào website của mình. Rất may cho chúng ta,ASP.NET MVC đã cung cấp một bộ định tuyến rất dễ dàng để cài đặt vấn đề này,chỉ với 2 bước đơn giản,bạn sẽ có một url như ý .
trong View của Action hiện ra danh sách các bài viết ,ta tiến hành đặt lại link xem Details như sau 


<%: Html.ActionLink("Details", "Xem/"+item.Id.ToString()+"/"+item.TenBaiViet.ToString().Replace(' ','-'))%> | 
  thêm vào một đối tượng route trong bảng route trong file Global.asax



using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;

namespace myRoute.Web
{
    // Note: For instructions on enabling IIS6 or IIS7 classic mode, 
    // visit http://go.microsoft.com/?LinkId=9394801

    public class MvcApplication : System.Web.HttpApplication
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
               "Xem", // Route name
               "Home/Xem/{id}/{op}", // URL with parameters
               new { controller = "Home", action = "Xem", id = UrlParameter.Optional } // Parameter defaults
           );
            routes.MapRoute(
                "Default", // Route name
                "{controller}/{action}/{id}", // URL with parameters
                new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
            );

        }

        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            RegisterRoutes(RouteTable.Routes);
        }
    }
} 


rồi thôi xong!
Giải thích code: 

<%: Html.ActionLink("Details", "Xem/"+item.Id.ToString()+"/"+item.TenBaiViet.ToString().Replace(' ','-'))%> 

ta sẽ tiến hành tùy biến url thành dạng:  Xem/[số id của bài viết]/[Tên-bài-Viết] để được url ví dụ như Home/Xem/13/Gioi-Thieu-Hue
và trong file Global.asax nó sẽ bắt cái url này và dịch ra rằng,nếu bạn yêu cầu một url có dạng như Home/Xem/13/Gioi-Thieu-Hue 
tôi sẽ thực hiện action Xem với id lấy từ UrlParametter trong controller Home cho bạn,và nó sẽ trả về một view tương ứng với id đó,
còn chuỗi phía sau sẽ là tùy chọn,khi đó url chúng ta sẽ dễ hiểu hơn nhiều.
Mình không biết bộ SEO Optimize nó hoạt động ntn,nhưng mình cũng bắt chước được gần giống thế :d,url chấp nhận cả tiếng việt nữa :D
và đây là kết quả 
các bạn cần cài đặt thêm một hàm chuyển chữ có dấu sang dạng chữ tiếng việt không dấu nữa.Hàm đó có thể 
viết như thế này :
  /// <summary>
        /// Chuyển chuỗi có dấu sang không dấu
        /// </summary>
        /// <param name="s">Chuỗi cần chuyển đổi</param>
        /// <returns>Chuỗi sau khi chuyển đổi</returns>
        public static  string Convert_Chuoi_Khong_Dau(string s)
        {
            Regex regex = new Regex(@"\p{IsCombiningDiacriticalMarks}+");
            string strFormD = s.Normalize(NormalizationForm.FormD);
            return regex.Replace(strFormD, String.Empty).Replace('\u0111', 'd').Replace('\u0110', 'D');
        }
 



So sánh LinQ to SQL và ADO.NET Entity Framework

LINQ to SQL và Entity Framework có rất nhiều điểm chung, nhưng mỗi cái có những đặc tính riêng nhắm đến những trường hợp khác nhau trong Orcas (bản VS 2008).
LINQ to SQL có các đặc tính hướng đến việc phát triển nhanh ứng dụng với CSDL Microsoft SQL Server. LINQ to SQL cho phép bạn có một cái nhìn chặt chẽ về kiểu với cấu trúc của CSDL của bạn. LINQ to SQL hỗ trợ việc ánh xạ 1-1 trực tiếp cấu trúc dữ liệu của bạn vào các lớp; một bảng đơn có thể được ánh xạ vào một cấu trúc phân cấp (ví dụ một bảng có thể chứa person, customer và employee) và các khóa ngoài có thể ánh xạ thành các quan hệ strongly-typed. Bạn có thể thực hiện truy vấn trên các các bảng, các view hay thậm chí các kết quả dạng bảng trả về bởi một function thông qua các phương thức. Một trong những mục tiêu thiết kế chính của LINQ to SQL là nhằm làm cho nó có thể dùng được ngay đối với những trường hợp thông thường; vậy nên, ví dụ bạn truy cập một tập các order thông qua thuộc tính Orders của một customer, và các order của customer đó chưa được đọc vào, LINQ to SQL sẽ tự động đọc vào từ CSDL cho bạn. LINQ to SQL dựa trên những quy ước cho trước, bạn có thể dựa trên các quy ước này để tùy biến, chẳng hạn như thay đổi các thao tác mặc nhiên cho việc insert, update và delete bằng cách tạo ra những câu lệnh thao tác với CSDL (ví dụ “InsertCustomer”, “UpdateCustomer”, “DeleteCustomer”). Các phương thức này có thể gọi các thủ tục trong CSDL hay thực hiện thêm các thao tác để xử lý các thay đổi.
Entity Framework có các đặc tính nhắm đến các ứng dụng doanh nghiệp (“Enterprise Scenarios”). Trong một doanh nghiệp, một CSDL thông thường được kiểm soát bởi DBA (người quản trị CSDL), cấu trúc của CSDL thông thường được tối ưu cho việc lưu trữ (hiệu năng, tính toàn vẹn, phân hoạch) hơn là cho một mô hình ứng dụng tốt, và có thể thay đổi qua thời gian khi dữ liệu và việc sử dụng phát triển lên. Với ý tưởng này, Entity Framework được thiết kế xung quanh việc xây dựng một mô hình dữ liệu hướng tới ứng dụng, ít phụ thuộc, thậm chí có thể khác một chút so với cấu trúc CSDL thực sự. Ví dụ, bạn có thể ánh xạ một lớp đơn (hay “thực thể”) và nhiều table/view, hay ánh xạ nhiều lớp vào cùng một table/view. Bạn có thể ánh xạ vào một cấu trúc phân cấp vào một table/view đơn (như trong LINQ to SQL) hay vào nhiều table/view (ví dụ: person, customer, employee có thể nằm trong các bảng riêng biệt vì customer và employee chỉ chứa thêm một số thông tin không có trong person, hoặc lặp lại các cột từ bảng person). Bạn có thể nhóm các thuộc tính vào các kiểu phức hợp (“complex”, hay “composite”), ví dụ một kiểu Customer có thể có thuộc tính “Address” với kiểu Address có các thuộc tính Street, City, Region, Country và Postal). Entity Framework cũng cho phép bạn biểu diễn quan hệ nhiều-nhiều một cách trực tiếp, mà không cần tới bảng kết nối như một thực thể trong mô hình dữ liệu, và có một đặc tính mới được gọi là “Defining Query”, có thể được dùng cho việc biểu diễn một bảng ảo với dữ liệu lấy từ một câu truy vấn (ngoài trừ việc cập nhật phải thông qua một stored procedure). Khả năng ánh xạ mềm dẻo này, bao gồm tùy chọn dùng các stored procedure để xử lý các thay đổi, có thể được thực hiện chỉ bằng cách khai báo, hoặc chỉnh sửa lại khi yêu cầu thay đổi, mà không cần phải biên dịch lại ứng dụng.
Entity Framework bao gồm LINQ to Entities đưa ra nhiều tính năng giống với LINQ to SQL trên mô hình ứng dụng ở mức khái niệm; bạn có thể xây dựng các câu truy vấn trong LINQ (hay trong “entity SQL”, một phiên bản mở rộng của SQL để hỗ trợ các khái niệm như strong-typing, đa hình, kiểu phức hợp…) trả về kết quả ở dạng các đối tượng CLR, thực thi các thủ tục hay các hàm trả về kiểu bảng thông qua các phương thức, và cho phép gọi một phương thức để lưu lại các thay đổi.
Tuy nhiên, Entity Framwork còn hơn cả LINQ to Entities; nó bao gồm một lớp lưu trữ cho phép bạn dùng cùng mô hình ứng dụng mức khái niệm thông qua giao diện ADO.NET ở mức thấp dùng Entity SQL, và trả lại kết quả một cách hiệu quả nhờ các DataReader, giảm thiểu tải khi dùng trong các ngữ cảnh chỉ có đọc và không có các xử lý thêm.
Vậy nên, trong khi có nhiều phần bị trùng lắp, LINQ to SQL được nhắm đến việc phát triển nhanh ứng dụng cùng SQL Server, còn Entity Framework cung cấp các lớp truy xuất đối tượng và lưu trữ dữ liệu cho Microsoft SQL Server cũng như các CSDL khác thông qua khả năng ánh xạ mềm dẻo và ít phụ thuộc vào cấu trúc của CSDL.Tôi biết điều này dễ gây nhầm lẫn, và chúng tôi đang cố gắng tìm cách mô tả những điểm khác nhau đó nhằm giúp khách hàng có thể lựa chọn một cách đúng đắn. Xin hãy cho tôi biết nếu bài viết này có thể giúp ích cho bạn, hoặc còn điều gì chưa rõ ràng…
Thanks,
Michael Pizzo
Principal Architect
Microsoft Data Programmability

Giới thiệu SQL Server 2008

Microsoft SQl server là một hệ quản trị cơ sở dữ liệu quan hệ (relational database management system – RDBMS) do Microsoft phát triển. SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ mạng máy tính hoạt động theo mô hình khách chủ cho phép đồng thời cùng lúc có nhiều người dùng truy xuất đến dữ liệu, quản lý việc truy nhập hợp lệ và các quyền hạn của từng người dùng trên mạng. Ngôn ngữ truy vấn quan trọng của Microsoft SQL server là Transact-SQL. Transact-SQL là ngôn ngữ SQL mở rộng dựa trên SQL chuẩn của ISO (International Organization for Standardization) và
ANSI (American National Standards Institute) được sử dụng trong SQL Server
.
 
 

Quay lại lịch sử, lúc đầu Microsoft đã quay sang kết hợp với công ty Sybase để cùng hợp tác làm ra một sản phẩm thuộc loại hệ quản trị cơ sở dữ liệu (Database Management System). Với sự hợp tác tốt đẹp, hai công ty này đã thành công cho ra đời một sản phẩm thuộc loại cơ sở dữ liệu có tên là Ashton-Tate vào năm 1989, sản phẩm này hoạt động trên môi trường OS/2. Sau đó một thời gian, Sybase đã phát triển sản phẩm này trên môi trường UNIX và đổi tên riêng là DataServer mà ngày nay còn có tên khác là Sybase Adaptive Server. Microsoft quyết định không phát triển hệ điều hành OS/2 mà thay vào đó cho ra đời một hệ điều hành mạng máy tính có tên là Windows NT Server. Và thế là SQL Serverchỉ hoạt động độc lập trên môi trường Windows NT Server mà thôi. Lần lượt các phiên bản của Microsoft SQL Server đã ra đời sau sự kiện này, từ 4.2 sau đó được nâng cấp thành 4.21, 6.0, 6.5, 7.0 và hiện giờ là Microsoft SQL Server 2000, 2005 và mới nhất là Microsoft SQL Server 2008.
II. Theo dòng lịch sử
SQL có nhiều phiên bản, ở đây tôi xin nhấn mạnh một số phiên bản nổi bật:

- SQL Server 2005: SQL Server 2005, được phát hành vào tháng 11 năm 2005, là phiên bản tiếp theo của SQL Server 2000. SQL Server 2005 tập trung vào khả năng xử lý giao dịch trực tuyến trên diện rộng OLTP ( large-scale online transactional processing), ứng dụng thương mại điện tử (e-commerce applications) và kho dữ liệu (data warehousing). Ngoài ra, những cải tiến quan trọng trong SQL Server 2005 là thêm các dịch vụ mới như: dịch vụ báo cáo Reporting Services, Service Broker và sự thay đổi đáng kể trong Database Engine.

- SQL Server 2008:Đây là phiên bản mới nhất của SQl Server, có tên mã là “katmai”. Ngày 27/02/2008 , Microsoft tổ chức một sự kiện có tên Heroes Happen Here nhằm giới thiệu sản phẩm mới SQL Server 2008 (cùng với những sản phẩm khác như Windows Server 2008; Visual Studio 2008). Bản SQL Server 2008 Release Candidate sẽ được trình làng trong quý II, trong khi đó, bản hoàn chỉnh sẽ mắt trong quý III (2008).

III. Microsoft SQL Server 2008 – người bạn đường tin cậy:
Để xứng đáng là một người bạn đường tin cậy, Microsoft SQL server 2008 có những điểm mới, tiến bộ sau:

Một trong điểm nổi bật khi xem xét về SQL Server 2008 của Microsoft là tính năng phân loại biệt ngữ mới và các lợi ích vào trong nhóm hoặc các vùng chính. Có bốn vùng chính đó là Enterprise Data Platform, Dynamic Development, Beyond Relational Database, và Pervasive Insight.

SQL Server 2008 có tác dụng đòn bẩy cho công nghệ .NET 3.0 (Dot Net Framework 3.0) với LINQ (Language Integrated Query – ngôn ngữ truy vấn tích hợp). Thêm vào đó là sự hỗ trợ hiệu quả hơn cho các thực thể dữ liệu doanh nghiệp cùng với các tùy chọn đồng bộ dữ liệu.

Tóm lại: SQL Server 2008 có nhiều cải thiện hữu dụng và thiết thực. Có liệt kể một cách sơ lược như sau:

- Mã hóa dữ liệu: trong suốt cho phép toàn bộ cơ sở dữ liệu, các bảng và dữ liệu có thể được mã hóa mà không cần phải lập trình ứng dụng. Trong SQL Server 2008, toàn bộ cơ sở dữ liệu đều có thể được mã hóa bằng SQL Engine. Phương pháp này mã hóa tất cả dữ liệu và các file bản ghi cho cơ sở dữ liệu. Bằng sử dụng phương pháp này, tất cả các chỉ mục và bảng cũng được mã hóa.

Tính năng mã hóa tiếp theo là Backup Encryption. SQL Server 2008 có một phương pháp mã hóa các backup dùng để tránh lộ và can thiệp của người khác vào dữ liệu. Thêm vào đó, việc phục hồi backup có thể được hạn chế với từng người dùng cụ thể.

Cuối cùng, có một số tùy chọn mới cho External Key Management. Nếu bạn có dính dáng tới việc xử lý thẻ tín dụng hoặc PCI (thẻ trả trước), thì SQL Server 2008 sẽ hỗ trợ Hardware Security Modules (HSM) – mô đun bảo mật phần cứng. Các mô đun này là giải pháp phần cứng của nhóm thứ ba được sử dụng để lưu các Key ở một địa điểm phân biệt với dữ liệu mà chúng bảo vệ.

- Backup có thể được mã hóa để ngăn chặn việc lộ và thay đổi dữ liệu. Sự thay đổi và truy cập dữ liệu có thể được thẩm định Thêm vào việc thẩm định chuẩn cho logon / logoff và các thay đổi được phép, SQL Server 2008 cho phép kiểm tra sự thay đổi hay truy cập dữ liệu.

- Fact Tables có thể được nén với hiệu suất cao.. SQL Server Data Compression đã thực sự thực hiện được mục tiêu chính là giảm kích thước của Fact Table. Vì vậy liên quan với việc lưu trữ trên các ổ đĩa cứng, với các file vật lý nhỏ hơn, số lần backup được giảm

- Tài nguyên chủ có thể được bảo đảm an toàn. Quản lý tài nguyên - Resource Governor - trong SQL Server 2008 cũng là một điểm mới. Governor được sử dụng để hạn chế người dùng hoặc nhóm người dùng chi phối các lớp tài nguyên mức cao. Điểm mới trong SQL Server 2008 phải kể đến nữa là Performance Studio. Studio là một trong các công cụ hiệu suất. Cùng với đó chúng có thể được sử dụng cho việc kiểm tra, xử lý sự cố, điều chỉnh và báo cáo. Thành phần Data Collector của Studio có thể cấu hình. Nó hỗ trợ một số phương pháp chọn gồm có các truy vấn TSQL, SQL Trace, và Perfmon Counters. Dữ liệu cũng có thể được chọn bằng lập trình. Khi dữ liệu được chọn, có các tùy chọn báo cáo chung.

- SQL 2008 hỗ trợ Hot Plug CPU. trong SQL Server 2008, các CPU cắm thêm có thể được bổ sung vào nếu phần cứng của hệ thống hỗ trợ nó

- Bộ đếm hiệu suất được mở rộng. Số bộ đếm hiệu suất trong SQL Server 2008 đã được mở rộng hơn so với phiên bản trước đó. IO và các bộ đếm hiệu suất bộ nhớ là một cặp có thể được chọn để kiểm tra hiệu suất. Dữ liệu đã được chọn bằng bộ đếm sẽ được lưu trong trung tâm lưu dữ liệu tập trung. Microsoft phát biểu rằng việc chạy thiết lập hiệu suất mặc định liên quan đến các kiểm tra sẽ tốn ít hơn 5% tài nguyên bộ nhớ và CPU.Có một công cụ Performance Dashboard có thể đọc dữ liệu hiệu suất đã được lưu.

- Việc cài đặt đã được đơn giản hóa. Bộ đặt SQL Server 2008 cũng có nhiều nâng cao. Dữ liệu cấu hình và các bit “engine” được tách biệt vì vậy nó có thể tạo một đĩa hệ thống không cấu hình cơ bản phân phối đến một số máy chủ dễ dàng hơn. Cài đặt có thể cập nhật được các nâng cấp mới nhất từ website Microsoft. Tính năng khác là khả năng cài đặt SQL Server, gói dịch vụ và các bản vá. Đi cùng với tính năng này là khả năng gỡ bỏ cài đặt các gói dịch vụ một cách dễ dàng.

Link download SQL Standart 2008
 
 
 
 
 
 
 
 
 
 
 
 
Part 12: http://www.mediafire.com/download.php?mikzztemtjl 
Sau khi giải nén xong thành 1 file có dạng ISO bạn có thể dùng Nero hay Ultral Iso để ghi, hoặc sử dụng ổ đĩa ảo để sử dụng. Chúc các bạn thành công.

(Theo  heroeshappenhere.vn)