Đăng ký Đăng nhập
Trang chủ ứng dụng công nghệ linq xây dựng website ca nhạc...

Tài liệu ứng dụng công nghệ linq xây dựng website ca nhạc

.DOC
33
29
69

Mô tả:

§Ò tµi : øng dông c«ng nghÖ LINQ x©y dùng website ca nh¹c TRƯỜNG ĐẠI HỌC VINH KHOA CÔNG NGHỆ THÔNG TIN -------  ------- ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC ỨNG DỤNG CÔNG NGHỆ LINQ XÂY DỰNG WEBSITE CA NHẠC Giáo viên hướng dẫn: ThS. Trần Thị Kim Oanh Sinh viên thực hiện : Võ Tuấn Hoàng Lớp : 45K - CNTT Vinh, 2009 Vinh, 2009 MỤC LỤC Vâ TuÊn Hoµng - Líp 45K CNTT - §¹i Häc Vinh Trang 1 §Ò tµi : øng dông c«ng nghÖ LINQ x©y dùng website ca nh¹c MỤC LỤC.............................................................................................................................................1 LỜI NÓI ĐẦU......................................................................................................................................2 CHƯƠNG 1: TÌM HIỂU VỀ CÔNG NGHỆ LINQ.........................................................................3 1.1. Linq to Object......................................................................................................................3 1.2. Linq to ADO.NET..............................................................................................................3 1.2.1. Linq to Sql..................................................................................................................3 1.2.2. Linq to DataSet..........................................................................................................4 1.2.3. Linq to Entities...........................................................................................................4 1.3. Linq to XML.........................................................................................................................4 CHƯƠNG 2 : GIỚI THIỆU VỀ ASP.NET VÀ HỆ QUẢN TRỊ CSDL SQL 2005.......................12 2.1. Giới thiệu về ASP.NET......................................................................................................12 2.2. Giới thiệu về hệ quản trị CSDL SQL 2005......................................................................14 CHƯƠNG 3 : PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG.............................................................17 3.1. Tổng quan về bài toán.......................................................................................................17 3.2. Phân tích và thiết kế..........................................................................................................17 CHƯƠNG 4 : GIỚI THIỆU SẢN PHẨM.......................................................................................28  Giao diện người sử dụng....................................................................................................28  Giao diện của người quản trị.............................................................................................31 CHƯƠNG 5 : ĐÁNH GIÁ KẾT QUẢ ĐẠT ĐƯỢC VÀ HƯỚNG PHÁT TRIỂN..................33 TÀI LIỆU THAM KHẢO.................................................................................................................34 LỜI NÓI ĐẦU Vâ TuÊn Hoµng - Líp 45K CNTT - §¹i Häc Vinh Trang 2 §Ò tµi : øng dông c«ng nghÖ LINQ x©y dùng website ca nh¹c Ngµy nay, c«ng nghÖ th«ng tin ®· vµ ®ang lµ mét trong nh÷ng nghµnh mòi nhän cña ®Êt níc. Sù ph¸t triÓn cña c«ng nghÖ th«ng tin kh«ng chØ bã hÑp trong mét lÜnh vùc cô thÓ mµ nã ®· øng dông réng r·i trong tÊt c¶ c¸c lÜnh vùc cña x· héi. Cã thÓ nãi c«ng nghÖ th«ng tin ®· gióp con ngêi gi¶i quyÕt ®îc nhiÒu bµi to¸n phøc t¹p mµ tríc ®©y khi cha xuÊt hiÖn m¸y tÝnh con ngêi khã cã thÓ gi¶i quyÕt ®îc, nhng ®iÒu quan träng ë ®©y kh«ng chØ ®¬n thuÇn lµ gi¶i quyÕt bµi to¸n mµ lµ c¸ch gi¶i quyÕt bµi to¸n ®ã nh thÕ nµo cho cã hiÖu qu¶ vµ nhanh nhÊt. HÇu hÕt c¸c øng dông trong c«ng nghÖ phÇn mÒm hiÖn nay ®Òu øng dông c«ng nghÖ LINQ vµo qu¸ tr×nh x©y dùng. C¸c øng dông website còng kh«ng ngo¹i lÖ, viÖc øng dông c«ng nghÖ LINQ vµo thiÕt kÕ website lµm cho viÖc lËp tr×nh trë nªn ®¬n gi¶n vµ hiÖu qu¶ h¬n. Do ®©y lµ thêi gian ®Çu t×m hiÓu c«ng nghÖ míi nªn ch¾c ch¾n kh«ng thÓ tr¸nh khái nh÷ng thiÕu sãt vµ hiÖu qu¶ ®¹t ®îc cha cao. RÊt mong ®îc sù gãp ý ch©n thµnh cña c¸c ThÇy C«, vµ tÊt c¶ c¸c b¹n . Em xin ch©n thµnh c¶m ¬n C« gi¸o ThS. TrÇn ThÞ Kim Oanh ®· tËn t×nh gióp em hoµn thµnh ®Ò tµi nµy. Néi dung ®Ò tµi gåm cã : 5 Ch¬ng  Ch¬ng 1: Giíi thiÖu vÒ c«ng nghÖ LINQ.  Ch¬ng 2: Giíi thiÖu vÒ ASP.NET vµ hÖ qu¶n trÞ CSDL SQL 2005.  Ch¬ng 3: Ph©n tÝch vµ thiÕt kÕ hÖ thèng.  Ch¬ng 4: Giíi thiÖu s¶n phÈm.  Ch¬ng 5: §¸nh gi¸ kÕt qu¶ ®¹t ®îc vµ híng ph¸t triÓn. CHƯƠNG 1: TÌM HIỂU VỀ CÔNG NGHỆ LINQ Tõ tríc tíi nay khã kh¨n lín nhÊt cho c¸c nhµ ph¸t triÓn lµ ph¶i ®èi mÆt víi sù kh¸c biÖt gi÷a ng«n ng÷ lËp tr×nh híng ®èi tîng vµ ng«n ng÷ truy vÊn d÷ liÖu, vÊn ®Ò cµng phøc t¹p h¬n víi sù xuÊt hiÖn cña XML (eXtensible Markup Language – ng«n ng÷ ®¸nh dÊu më réng). HiÖn t¹i, c¸ch phæ biÕn nhÊt ®Ó øng dông lÊy d÷ liÖu tõ c¸c hÖ c¬ së d÷ liÖu lµ sö dông SQL (Structure Query Language – ng«n ng÷ truy vÊn cÊu tróc). SQL cã có ph¸p rÊt kh¸c víi nh÷ng ng«n ng÷ lËp tr×nh phæ dông nh C# vµ Vâ TuÊn Hoµng - Líp 45K CNTT - §¹i Häc Vinh Trang 3 §Ò tµi : øng dông c«ng nghÖ LINQ x©y dùng website ca nh¹c VB.NET, do vËy lËp tr×nh viªn ph¶i nhäc c«ng “hµn g¾n” hai thùc thÓ kh¸c biÖt nµy víi nhau trong mçi dù ¸n phÇn mÒm. Mét vÊn ®Ò kh¸c víi SQL lµ nã chØ dïng ®Ó truy vÊn d÷ liÖu trong c¸c CSDL d¹ng quan hÖ, nÕu muèn truy cËp d÷ liÖu XML hay d¹ng kh¸c (nh HTML, email…), nhµ ph¸t triÓn l¹i ph¶i sö dông có ph¸p truy vÊn kh¸c (Xpath/ Xquery). §Ó gi¶m g¸nh nÆng thao t¸c trªn nhiÒu ng«n ng÷ kh¸c nhau vµ c¶i thiÖn n¨ng suÊt lËp tr×nh, Microsoft ®· ph¸t triÓn gi¶i ph¸p tÝch hîp d÷ liÖu cho .NET Framework cã tªn gäi lµ LINQ, ®©y lµ th viÖn më réng cho c¸c ng«n ng÷ lËp tr×nh C# vµ Visual Basic.NET (cã thÓ më réng cho c¸c ng«n ng÷ kh¸c) cung cÊp kh¶ n¨ng truy vÊn trùc tiÕp d÷ liÖu ®èi tîng, CSDL vµ XML. LinQ (Language Integrated Query): Lµ mét ng«n ng÷ kÕt hîp c¸c c©u lÖnh truy vÊn. Ng«n ng÷ LINQ gåm 3 phÇn chÝnh: 1.1. Linq to Object: Là một API nơi mà cung cấp các phương thức chuẩn của các toán tử truy vấn để lấy lại dữ liệu từ bất kỳ đối tượng nào. Các câu truy vấn được thực hiện trong bộ nhớ. 1.2. Linq to ADO.NET: Bổ sung các toán tử truy vấn để làm việc với quan hệ dữ liệu. Nó gồm 3 phần chính : 1.2.1. Linq to Sql: Sử dụng các câu lệnh truy vấn cơ sở dữ liệu như Microsoft SQL Server. 1.2.2. Linq to DataSet: Hỗ trợ các câu lệnh truy vấn bằng cách sử dụng tập hợp dữ liệu và các bảng dữ liệu. 1.2.3. Linq to Entities: Là một giải pháp quan hệ ánh xạ (ORM) của Microsoft 1.3. Linq to XML: Nó không chỉ các toán tử truy vấn nhưng bao gồm tất cả chủ thể các đặc trưng rõ ràng của tài liệu XML. Vâ TuÊn Hoµng - Líp 45K CNTT - §¹i Häc Vinh Trang 4 §Ò tµi : øng dông c«ng nghÖ LINQ x©y dùng website ca nh¹c LINQ to SQL lµ mét phiªn b¶n hiÖn thùc hãa cña O/RM (Object Relational Mapping) cã bªn trong .Net Framework b¶n “Orcas” nay lµ .NET 3.5, nã cho phÐp b¹n m« h×nh hãa mét c¬ së d÷ liÖu dïng c¸c líp .NET. Sau ®ã b¹n cã thÓ truy vÊn c¬ së d÷ liÖu (CSDL) dïng LINQ, còng nh cËp nhËt/ thªm/ xãa d÷ liÖu tõ ®ã. LINQ to SQL hç trî ®Çy ®ñ transaction, view vµ c¸c stored procedure. Nã còng cung cÊp mét c¸ch dÔ dµng ®Ó thªm kh¶ n¨ng kiÓm tra tÝnh hîp lÖ cña d÷ liÖu vµ c¸c quy t¾c vµo trong m« h×nh d÷ liÖu cña b¹n.  M« h×nh hãa CSDL dïng LINQ to SQL Visual Studio “Orcas” ®· tÝch hîp thªm mét tr×nh thiÕt kÕ LINQ to SQL nh mét c«ng cô dÔ dµng cho viÖc m« h×nh hãa mét c¸ch trùc quan c¸c CSDL dïng LINQ to SQL. B»ng c¸ch dïng tr×nh thiÕt kÕ LINQ to SQL, chóng ta cã thÓ dÔ dµng t¹o mét m« h×nh cho CSDL mÉu “Northwind” gièng nh díi ®©y: Vâ TuÊn Hoµng - Líp 45K CNTT - §¹i Häc Vinh Trang 5 §Ò tµi : øng dông c«ng nghÖ LINQ x©y dùng website ca nh¹c M« h×nh LINQ to SQL ë trªn ®Þnh nghÜa bèn líp thùc thÓ: Product, Category, Order vµ OrderDetail. C¸c thuéc tÝnh cña mçi líp ¸nh x¹ vµo c¸c cét cña b¶ng t¬ng øng trong CSDL. Mçi trêng cña mét líp biÓu diÔn mét dßng trong b¶ng d÷ liÖu. C¸c mòi tªn gi÷a bèn líp thùc thÓ trªn biÓu diÔn quan hÖ gi÷a c¸c thùc thÓ kh¸c nhau, chóng ®îc t¹o ra dùa trªn c¸c mèi quan hÖ primary-key/foreign-key trong CSDL. Híng cña mòi tªn chØ ra mèi quan hÖ lµ mét - mét hay mét - nhiÒu. C¸c thuéc tÝnh t¬ng øng sÏ ®îc thªm vµo c¸c líp thùc thÓ trong c¸c trêng hîp nµy. LÊy vÝ dô, líp Category ë trªn cã mét mèi quan hÖ mét nhiÒu víi líp Product, ®iÒu nµy cã nghÜa nã sÏ cã mét thuéc tÝnh “Categories” lµ mét tËp hîp c¸c ®èi tîng Product trong Category nµy. Líp Product còng sÏ cã mét thuéc tÝnh “Category” chØ ®Õn ®èi tîng ”Category” chøa Product nµy bªn trong. B¶ng c¸c ph¬ng thøc bªn tay ph¶i bªn trong tr×nh thiÕt kÕ LINQ to SQL ë trªn chøa mét danh s¸ch c¸c Store Procedure ®Ó t¬ng t¸c víi m« h×nh d÷ liÖu cña chóng ta. Trong vÝ dô trªn chóng ta thªm mét thñ tôc cã tªn “GetProductsByCategory”. Nã nhËn vµo mét categoryID vµ tr¶ vÒ mét chuçi c¸c Product. §Ó lÊy d÷ liÖu tõ Store Procedure trªn ta sÏ gäi tªn thñ tôc ®ã trong mét líp Class. T×m hiÓu líp DataContext: Khi b¹n bÊm nót “Save” bªn trong mµn h×nh thiÕt kÕ LINQ to SQL, Visual Studio sÏ lu c¸c líp .NET biÓu diÔn c¸c thùc thÓ vµ quan hÖ bªn trong CSDL mµ chóng ta võa m« h×nh hãa. Cø mçi mét file LINQ to SQL chóng ta thªm vµo solution, Vâ TuÊn Hoµng - Líp 45K CNTT - §¹i Häc Vinh Trang 6 §Ò tµi : øng dông c«ng nghÖ LINQ x©y dùng website ca nh¹c mét líp DataContext sÏ ®îc t¹o ra, nã sÏ ®îc dïng khi cÇn truy vÊn hay cËp nhËt l¹i c¸c thay ®æi. Líp DataContext ®îc t¹o sÏ cã c¸c thuéc tÝnh ®Ó biÓu diÔn mçi b¶ng ®îc m« h×nh hãa tõ CSDL, còng nh c¸c ph¬ng thøc cho mçi Store Procedure mµ chóng ta ®· thªm vµo. LÊy vÝ dô, díi ®©y lµ líp NorthwindDataContext ®îc sinh ra dùa trªn m« h×nh chóng ta t¹o ra ë trªn:  C¸c vÝ dô ®iÓn h×nh vÒ LINQ to SQL Mét khi ®· m« h×nh hãa CSDL dïng tr×nh thiÕt kÕ LINQ to SQL, chóng ta cã thÓ dÔ dµng viÕt c¸c ®o¹n lÖnh ®Ó lµm viÖc víi nã. Díi ®©y lµ mét vµi vÝ dô vÒ c¸c thao t¸c chung khi xö lý d÷ liÖu: 1) LÊy c¸c Product tõ CSDL: §o¹n lÖnh díi ®©y dïng có ph¸p LINQ ®Ó lÊy vÒ mét tËp IEnumerable c¸c ®èi tîng Product. C¸c s¶n phÈm ®îc lÊy ra ph¶i thuéc ph©n lo¹i “Beverages”: 2) CËp nhËt mét s¶n phÈm trong CSDL: §o¹n lÖnh díi ®©y cho chóng ta thÊy c¸ch lÊy mét s¶n phÈm, cËp nhËt l¹i gi¸ tiÒn, cæ phiÕu vµ lu l¹i CSDL. Vâ TuÊn Hoµng - Líp 45K CNTT - §¹i Häc Vinh Trang 7 §Ò tµi : øng dông c«ng nghÖ LINQ x©y dùng website ca nh¹c 3) ChÌn thªm mét ph©n lo¹i míi vµ hai s¶n phÈm vµo CSDL: §o¹n m· díi ®©y biÓu diÔn c¸ch t¹o mét ph©n lo¹i míi, vµ t¹o hai s¶n phÈm míi vµ ®a chóng vµo trong ph©n lo¹i ®· t¹o. C¶ ba sau ®ã sÏ ®îc ®a vµo c¬ së d÷ liÖu. ë ®©y kh«ng cÇn ph¶i tù qu¶n lý c¸c mèi quan hÖ primary key/foreign key, thay vµo ®ã, chóng ta chØ ®¬n gi¶n thªm c¸c ®èi tîng Product vµo tËp hîp Products cña ®èi tîng category, vµ råi thªm ®èi tîng category vµo tËp hîp Categories cña DataContext, LINQ to SQL sÏ biÕt c¸ch thiÕt lËp c¸c gi¸ trÞ primary key /foreign key mét c¸ch thÝch hîp. 4) Xãa c¸c s¶n phÈm: §o¹n m· sau sÏ biÓu diÔn c¸ch xãa tÊt c¶ c¸c s¶n phÈm cã chøa tªn “Toy” khái CSDL: Vâ TuÊn Hoµng - Líp 45K CNTT - §¹i Häc Vinh Trang 8 §Ò tµi : øng dông c«ng nghÖ LINQ x©y dùng website ca nh¹c 5) Gäi mét thñ tôc: §o¹n m· díi ®©y biÓu diÔn c¸ch lÊy c¸c thùc thÓ Product mµ kh«ng dïng có ph¸p cña LINQ, mµ gäi ®Õn thñ tôc “GetProductsByCategory” chóng ta ®· thªm vµo tríc ®©y. ë ®©y mét khi ®· lÊy vÒ kÕt qu¶, chóng ta cã thÓ cËp nhËt /xãa vµ sau ®ã gäi db.SubmitChanges() ®Ó cËp nhËt c¸c thay ®æi trë l¹i CSDL. 6) Ph©n trang kÕt qu¶ truy vÊn: Mét trong nh÷ng yªu cÇu chung khi viÕt c¸c trang web lµ b¹n ph¶i cã kh¶ n¨ng ph©n trang mét c¸c hiÖu qu¶. LINQ cung cÊp s½n hai hµm më réng cho phÐp b¹n cã thÓ lµm ®iÒu ®ã mét c¸ch dÔ dµng vµ hiÖu qu¶ - hµm Skip() vµ Take(). B¹n cã thÓ dïng Skip() vµ Take() nh díi ®©y ®Ó chØ ra r»ng b¹n chØ muèn lÊy vÒ 10 ®èi tîng s¶n phÈm - b¾t ®Çu tõ mét s¶n phÈm cho tríc mµ chóng ta chØ ra trong tham sè truyÒn vµo: Vâ TuÊn Hoµng - Líp 45K CNTT - §¹i Häc Vinh Trang 9 §Ò tµi : øng dông c«ng nghÖ LINQ x©y dùng website ca nh¹c Mét trong nh÷ng u ®iÓm cña m« h×nh nµy lµ nã cho phÐp b¹n cã thÓ viÕt c¸c c©u lÖnh phøc t¹p b»ng nhiÒu bíc, thay v× ph¶i viÕt trong mét c©u lÖnh ®¬n (gióp dÔ ®äc h¬n). Nã còng cho phÐp b¹n t¹o ra c¸c c©u truy vÊn tõ c¸c c©u kh¸c, gióp b¹n cã thÓ x©y dùng c¸c c©u truy vÊn rÊt phøc t¹p còng nh cã thÓ dïng l¹i ®îc c¸c c©u truy vÊn kh¸c. Mét khi chóng ta ®· cã ph¬ng thøc BindProduct() ®Þnh nghÜa ë trªn, ta cã thÓ viÕt lÖnh nh díi ®©y ®Ó lÊy vÒ chØ sè ®Çu tõ query string, vµ cho phÐp danh s¸ch s¶n phÈm cã thÓ ®îc hiÖn ph©n trang vµ hiÓn thÞ: Nã sÏ cho chóng ta mét trang hiÓn thÞ c¸c s¶n phÈm cã nhiÒu h¬n 5 ®¬n ®Æt hµng, cïng víi doanh thu t¬ng øng, vµ ®îc ph©n trang dùa trªn tham sè truyÒn vµo qua query string: Vâ TuÊn Hoµng - Líp 45K CNTT - §¹i Häc Vinh Trang 10 §Ò tµi : øng dông c«ng nghÖ LINQ x©y dùng website ca nh¹c  Mét sè tÝnh n¨ng næi bËt cña LINQ - Ch¹y cïng m· Code cña ch¬ng tr×nh -> Lçi ®îc ph¸t hiÖn sím kh«ng ph¶i chê hÖ qu¶n trÞ CSDL ph¶n håi. - Cã thÓ truy xuÊt nhiÒu lo¹i d÷ liÖu h¬n SQL (CSDL trong hÖ CSDL, trong bé nhí ram cña m¸y tÝnh) - §iÒu quan träng nhÊt, LINQ lµ tÊt c¶ vÒ truy vÊn, kÕt qu¶ sau khi truy vÊn cã thÓ lµ tËp hîp c¸c ®èi tîng cïng lo¹i, cã thÓ lµ 1 ®èi tîng ®¬n, cã thÓ lµ tËp hîp con cña c¸c trêng tõ 1 ®èi tîng. KÕt qu¶ tr¶ vÒ cña LINQ ngêi ta gäi lµ sequence. HÇu hÕt sequence lµ IEnumerable víi T lµ kiÓu d÷ liÖu cña nh÷ng ®èi tîng trong sequence. - LINQ lµ mét gi¶i ph¸p lËp tr×nh d÷ liÖu tÝch hîp cho .Net framework ®Ó gi¶m g¸nh nÆng thao t¸c trªn nhiÒu ng«n ng÷ kh¸c nhau vµ cung cÊp kh¶ n¨ng truy vÊn trùc tiÕp d÷ liÖu ®èi tîng, CSDL vµ XML. LINQ thao t¸c trªn d÷ liÖu ®· tr¶ vÒ d¹ng object list víi c¸c thuéc tÝnh cña ®èi tîng chø kh«ng ph¶i thao t¸c trªn ®èi tîng table cña CSDL víi c¸c cét vµ hµng. DLINQ lµ tËp c¸c líp ®Æc biÖt cho phÐp thÓ hiÖn c¸c b¶ng vµ hµng d÷ liÖu theo d¹ng ®èi tîng, nhê vËy cã thÓ sö dông LINQ ®Ó truy vÊn trùc tiÕp CSDL.  So s¸nh gi÷a ADO.NET vµ LINQ - ADO.NET lµ c«ng cô ®Ó kÕt nèi d÷ liÖu nguån (gièng nh ODBC) trong khi ®ã LINQ lµ c«ng cô truy vÊn ®Ó truy vÊn bÊt kú lo¹i d÷ liÖu nµo mµ kh«ng cÇn d÷ liÖu tõ CSDL Vâ TuÊn Hoµng - Líp 45K CNTT - §¹i Häc Vinh Trang 11 §Ò tµi : øng dông c«ng nghÖ LINQ x©y dùng website ca nh¹c - Khi sö dông ADO.NET chóng ta ph¶i viÕt c©u lÖnh kÕt nèi CSDL nhng khi dïng LINQ nã sÏ tù sinh ra mét c©u lÖnh kÕt nèi CSDL. - Nã lËp tr×nh dÔ dµng h¬n khi sö dông c¸c Store Procedure. ADO.NET ph¶i sö dông c¸c tham sè (Parameters) ®Ó truyÒn c¸c tham sè cßn LINQ sö dông lu«n store khi kÐo store vµo. CHƯƠNG 2 : GIỚI THIỆU VỀ ASP.NET VÀ HỆ QUẢN TRỊ CSDL SQL 2005 2.1. Giới thiệu về ASP.NET 2.1.1. Giíi thiÖu ASP.NET lµ phiªn b¶n kÕ tiÕp cña Active Server Page (ASP), nã lµ mét nÒn ph¸t triÓn øng dông Web hîp nhÊt, cung cÊp nhiÒu dÞch vô cÇn thiÕt cho lËp tr×nh viªn x©y dùng c¸c líp øng dông chuyªn nghiÖp. Có ph¸p ASP.NET t¬ng thÝch víi có ph¸p ASP, ngoµi ra ASP.NET cßn cung cÊp mét m« h×nh lËp tr×nh míi, nÒn t¶ng an toµn, linh ho¹t vµ æn ®Þnh. ASP.NET lµ biªn dÞch, dùa trªn m«i trêng .NET vµ cã thÓ x©y dùng b»ng bÊt cø ng«n ng÷ nµo t¬ng thÝch .NET, bao gåm Visual Basic.NET, C#, vµ JScript .NET. ASP.NET ®îc thiÕt kÕ lµm viÖc víi c¸c tr×nh so¹n th¶o WYSIWYG HTML ®i kÌm vµ c¸c c«ng cô lËp tr×nh kh¸c ®îc ®a vµo trong Microsoft Visual .NET. TÊt c¶ c¸c c«ng cô nµy kh«ng ph¶i chØ dïng ®Ó ph¸t triÓn øng dông Web, tuy nhiªn cã thÓ sö dông mét vµi chøc n¨ng th«ng thêng cho øng dông Web, bao gåm mét GUI cho phÐp lËp tr×nh viªn cã thÓ dÔ dµng ®Æt c¸c server control vµo trang web (web page), vµ mét tr×nh debug rÊt m¹nh mÏ. 2.1.2. Lý do chän ASP.NET Ta ®· biÕt .NET Framework vµ c¸c øng dông cña nã ®· vµ ®ang t¹o mét cuéc c¸ch m¹ng kü thuËt trong c«ng nghÖ Tin Häc (Information Technology), thay ®æi tËn gèc rÔ c¸c kiÓu mÉu lËp tr×nh hay ph¸t triÓn vµ triÓn khai m¹ng trªn thÕ giíi vµ do ®ã t¹o mét vËn héi míi ®¸p øng mäi yªu cÇu khÈn thiÕt cho c¸c ngµnh nghÒ kü thuËt vµ th¬ng m¹i hiÖn nay còng nh v¹ch mét híng ®i v÷ng ch¾c vµ dµi l©u cho t¬ng lai Tin Häc. ASP.NET chÝnh lµ mét trong nh÷ng øng dông quan träng nhÊt ®Ó ph¸t triÓn vµ triÓn khai m¹ng mét c¸ch dÔ dµng cha tõng thÊy tõ xa ®Õn nay. Kh«ng nh ASP kiÓu cæ ®iÓn chØ giíi h¹n víi VBScripts vµ JScripts, ASP.NET Vâ TuÊn Hoµng - Líp 45K CNTT - §¹i Häc Vinh Trang 12 §Ò tµi : øng dông c«ng nghÖ LINQ x©y dùng website ca nh¹c hç trî trªn 25 ng«n ng÷ lËp tr×nh (dÜ nhiªn ngoµi c¸c ng«n ng÷ míi thiÕt lËp ®· cµi s½n hç trî .NET framework nh lµ VB.NET, C# vµ JScript.NET cßn cã MC++.NET, Smalltalk.NET, COBOL.NET...). MÆc dï ta cã thÓ chØ cÇn dïng tíi Notepad ®Ó triÓn khai c¸c trang ASP.NET nhng Visual Studio .NET gióp n¨ng suÊt triÓn khai m¹ng thªm phÇn hiÖu qu¶, ta cã thÓ quan s¸t c¸c kÕ ho¹ch cña ta dÔ dµng h¬n khi ph¸c häa (design) c¸c thµnh phÇn cña ASP.NET b»ng h×nh ¶nh víi ASP.NET Web Forms hay Services theo ph¬ng ph¸p nhÊn ®óp chuét quen thuéc cña nÒn Windows. Thªm n÷a, l¹i cßn hç trî ta trong viÖc ph¸t hiÖn vµ lo¹i bá nh÷ng lçi sai mét c¸ch rÊt thuËn lîi trong khi ph¸t triÓn c¸c øng dông vÒ m¹ng (support for debugging and deploying ASP.NET Web applications). ASP.NET kh«ng nh÷ng ch¹y nhanh h¬n ASP cæ ®iÓn gÊp 5 lÇn mµ cßn cã thÓ duy tr× kiÓu mÉu cËp nhËt gäi lµ kiÓu mÉu 'just hit save', nghÜa lµ ASP.NET tù ®éng dß t×m mäi sù thay ®æi vµ compile files khi cÇn thiÕt còng nh lu tr÷ kÕt qu¶ compile ®ã ®Ó cung øng dÞch vô cho nh÷ng yªu cÇu tiÕp theo sau, nhê vËy øng dông cña b¹n lu«n lu«n cËp nhËt hãa vµ ch¹y nhanh h¬n c¶. ASP.NET cã kh¶ n¨ng lu tr÷ mét kÕt qu¶ chung trong phÇn bé memory cña trang ®Ó göi gi¶i ®¸p cho cïng mét yªu cÇu tõ nhiÒu kh¸ch hµng kh¸c nhau vµ nhê ®ã kh«ng nh÷ng tiÕt kiÖm ®îc sù lÆp ®i lÆp l¹i c«ng t¸c thi hµnh cña mét trang web mµ cßn gia t¨ng hiÖu suÊt mét c¸ch ngo¹n môc do giíi h¹n tèi ®a viÖc chÊt vÊn c¸c c¬ së d÷ liÖu (eliminating the need to query the database on every request) rÊt tèn nhiÒu thêi gian. ASP.NET còng cã kh¶ n¨ng tù ®éng dß t×m vµ phôc håi (detects and recovers) nh÷ng trë ng¹i nghiªm träng nh deadlocks hay bé nhí (memory) bÞ rØ ®Ó b¶o ®¶m øng dông cña b¹n lu«n lu«n s½n sµng khi dïng mµ kh«ng lµm c¶n trë viÖc cung øng dÞch vô cÇn thiÕt thêng lÖ. ASP.NET cho phÐp ta tù ®éng cËp nhËt hãa (update) c¸c thµnh phÇn ®· compiled (compiled components) mµ kh«ng cÇn ph¶i khëi ®éng l¹i (re-start) c¸c Web Server. Mét sè ®èi tîng trong ASP.NET.  Request : - Trao đổi th«ng tin giữa Client và Server. - Dạng QueryString: Gửi th«ng tin kÌm vào phần đu«i của URL.  Response : - Cho phÐp Server đ¸p ứng, trả lời hay th«ng tin với client. Vâ TuÊn Hoµng - Líp 45K CNTT - §¹i Häc Vinh Trang 13 §Ò tµi : øng dông c«ng nghÖ LINQ x©y dùng website ca nh¹c - Phương thức Write, Writeln: Viết dßng chữ Response.Write(); Response.Writeln(); - Phương thức Redirect: Chuyển qua trang kh¸c Response.Rediredt("http://www.vnn.vn");  Session : Khi Client đã nhận được th«ng tin từ Server, qu¸ tr×nh trao đổi kết thóc, kh«ng cã liªn lạc giữa Server và client. Để lưu lại cấu h×nnh cần thiết cho những xử lý sau ®ã, chóng ta cần đến Session object. Sau khi người dïng kết thóc phiªn làm việc (đãng tr×nh duyệt hoặc sang một Website kh¸c) th× Session mới kết thóc  Application: Đối với đối tượng Session, chỉ cã t¸c động trong một phiªn làm việc (một người sử dụng). Đối tượng Application dïng để chia sẻ th«ng tin giữa tất cả những người sử dụng. 2.2. Giới thiệu về hệ quản trị CSDL SQL 2005 2.2.1. Giíi thiÖu Sql lµ viÕt t¾t cña Structured Query Language – Ng«n ng÷ truy vÊn cÊu tróc, lµ mét chuÈn cña ANSI (American National Standards Institute – ViÖn tiªu chuÈn quèc gia Hoa Kú) vÒ truy xuÊt c¸c hÖ thèng CSDL. C¸c c©u lÖnh SQL ®îc sö dông ®Ó truy xuÊt vµ cËp nhËt d÷ liÖu trong mét CSDL. SQL ho¹t ®éng víi hÇu hÕt c¸c ch¬ng tr×nh CSDL nh MS Access, DB2, Informix, MS SQL Server … Mét CSDL thêng bao gåm mét hoÆc nhiÒu b¶ng (table). Mçi b¶ng ®îc x¸c ®Þnh th«ng qua mét tªn ( vÝ dô Products hoÆc Categorys). Díi ®©y lµ mét vÝ dô vÒ mét b¶ng cã tªn lµ Products : Products(ProductID, ProductName, CategoryID, Price, CreateDate, UserId) Víi SQL ta cã thÓ truy vÊn CSDL vµ nhËn lÊy kÕt qu¶ tr¶ vÒ, còng nh cËp nhËt – söa ®æi, chÌn thªm vµ xãa c¸c mÈu tin th«ng qua c¸c c©u truy vÊn. Vâ TuÊn Hoµng - Líp 45K CNTT - §¹i Häc Vinh Trang 14 §Ò tµi : øng dông c«ng nghÖ LINQ x©y dùng website ca nh¹c Danh s¸ch c¸c lÖnh vµ truy vÊn d¹ng DML (Data Manipulation Language): - Select : LÊy d÷ liÖu tõ mét b¶ng CSDL. - Update : CËp nhËt/ söa ®æi d÷ liÖu trong b¶ng. - Delete : Xãa d÷ liÖu trong b¶ng. - Insert into : Thªm d÷ liÖu vµo b¶ng. 2.2.2. Nh÷ng tÝnh n¨ng míi cña SQL 2005 Khi SQL 2005 ra ®êi, th× nh÷ng kiÕn thøc vÒ SQL 2000 thùc sù kh«ng ®ñ ®Ó b¹n lµm chñ ®îc SQL 2005. Kh¶ n¨ng vµ ®é linh ho¹t cña SQL 2005 ®îc ph¶n ¸nh rÊt râ trong c«ng cô Management studio míi vµ BIDS. a) N©ng cao b¶o mËt: B¶o mËt lµ trong t©m chÝnh cho nh÷ng tÝnh n¨ng míi trong SQL Server 2005. §iÒu nµy ph¶n ¸nh sù ph¶n øng l¹i cña Microsoft víi s©u m¸y tÝnh Slammer ®· tÊn c«ng SQL Server 2000. Nã còng cho thÊy mét thÕ giíi ngµy cµng cã nhiÒu d÷ liÖu kinh doanh cã nguy c¬ bÞ lé ra ngoµi Internet. b) Më réng T-SQL: - Transact - SQL lµ mét phiªn b¶n cña Structured Query Language (SQL), ®îc dïng bëi SQL Server 2005. Transact-SQL thêng ®îc gäi lµ T-SQL. T-SQL cã nhiÒu tÝnh n¨ng do Microsoft ph¸t triÓn kh«ng cã trong ANSI SQL (SQL chuÈn). - ViÖc sö dông khèi Try... Catch trong m· T-SQL cho phÐp b¹n chØ ra ®iÒu g× ph¶i lµm khi lçi x¶y ra. c) T¨ng cêng hç trî ngêi ph¸t triÓn: - C¸c kiÓu d÷ liÖu míi. - Truy cËp Http. d) T¨ng cêng kh¶ n¨ng qu¶n lý: C¸c c«ng cô qu¶n lý trong SQL Server 2005 cã sù thay ®æi rÊt lín víi SQL Server 2000. Thay ®æi chÝnh ®Õn tõ SQL Server management Studio. - Nh÷ng c«ng cô qu¶n lý míi. - SQL Server. - CÊu h×nh tù ®éng. - Göi mail tõ CSDL. e) Kh¶ n¨ng më réng CSDL : - Cµi ®Æt trong mét liªn cung. - Ph©n vïng d÷ liÖu. - Gi¸m s¸t cç m¸y CSDL. Vâ TuÊn Hoµng - Líp 45K CNTT - §¹i Häc Vinh Trang 15 §Ò tµi : øng dông c«ng nghÖ LINQ x©y dùng website ca nh¹c - Hç trî g¾n nãng bé nhí. - Replication (§ång bé). CHƯƠNG 3 : PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 3.1. Tổng quan về bài toán 3.1.1. Lý do chän ®Ò tµi Trong thêi ®¹i bïng næ cña c«ng nghÖ th«ng tin, c¸c c«ng nghÖ míi ngµy cµng gióp ngêi sö dông lµm viÖc dÔ dµng vµ thuËn tiªn h¬n. C«ng nghÖ LINQ lµ mét trong nh÷ng c«ng nghÖ ®ã, võa míi ra ®êi nã ®· ®îc ®ãn nhËn réng r·i vµ ®· ®¸p øng ®îc nh÷ng yªu cÇu cña ngêi sö dông. ”Trang nh¹c trùc tuyÕn” lµ vÝ dô ®iÓn h×nh mµ em chän ®Ó ¸p dông mét phÇn nhá c«ng nghÖ míi ®ã. 3.1.2. Ph¹m vi cña ®Ò tµi §Ò tµi “øng dông LINQ x©y dùng website ca nh¹c” víi øng dông lµ website “Nh¹c trùc tuyÕn” kh«ng chØ nh»m giíi thiÖu c«ng nghÖ míi mµ nã cßn lµ n¬i l u gi÷ nh÷ng b¶n d©n ca vµ nh¹c cæ truyÒn cña ViÖt Nam, mét trong nh÷ng lo¹i nh¹c kh«ng ®îc b¹n trÎ thêi ®¹i ngµy nay chó ý nhiÒu. 3.1.3. NhiÖm vô cña ®Ò tµi §Ó hoµn thµnh ®îc ®Ò tµi em ph¶i t×m hiÓu vµ tiÕn hµnh c¸c c«ng viÖc sau: - Tríc hÕt cÇn ph¶i t×m hiÓu c¸ch x©y dùng mét trang web nh thÕ nµo. - T×m hiÓu viÖc øng dông c«ng nghÖ LINQ vµo thiÕt kÕ website. - TÝch cùc t×m kiÕm vµ tham kh¶o mét sè website nh¹c trùc tuyÕn. - T×m hiÓu c¸c hÖ c¬ së d÷ liÖu hiÖn nay. Vâ TuÊn Hoµng - Líp 45K CNTT - §¹i Häc Vinh Trang 16 §Ò tµi : øng dông c«ng nghÖ LINQ x©y dùng website ca nh¹c - TiÕn hµnh ph©n tÝch, thiÕt kÕ vµ lËp ch¬ng tr×nh. 3.2. Phân tích và thiết kế 3.2.1. ThiÕt kÕ c¬ së d÷ liÖu a) Ph©n tÝch hÖ thèng vÒ mÆt chøc n¨ng  BiÓu ®å ph©n cÊp chøc n¨ng S¬ ®å ph©n cÊp chøc n¨ng ®îc sö dông ®Ó nªu ra chøc n¨ng vµ qu¸ tr×nh cho biÓu ®å luång d÷ liÖu th«ng qua nã ®Ó m« t¶ c¸c chøc n¨ng xö lý cña hÖ thèng theo c¸c møc. HÖ thèngWebsite CËp nhËt d÷ liÖu CËp nhËt nghÖ sü T×m kiÕm, t¶i vÒ TK theo tªn bµi h¸t CËp nhËt Album CËp nhËt bµi h¸t TK theo tªn nghÖ sü CËp nhËt thÓ lo¹i nh¹c TK theo thÓ lo¹i nh¹c CËp nhËt tin tøc Thèng kª TK lît truy cËp TK sè lÇn nghe mét bµi h¸t TK sè lÇn download mét bµi h¸t TK theo tªn album CËp nhËt ngêi dïng TK theo tin tøc CËp nhËt ngêi qu¶n trÞ Vâ TuÊn Hoµng - Líp 45K CNTT - §¹i Häc Vinh Trang 17 §Ò tµi : øng dông c«ng nghÖ LINQ x©y dùng website ca nh¹c  BiÓu ®å luång d÷ liÖu. BiÓu ®å luång d÷ liÖu lµ ph¬ng tiÖn diÔn t¶ chøc n¨ng xö lý vµ viÖc trao ®æi th«ng tin gi÷a c¸c chøc n¨ng. + Luång d÷ liÖu: Lµ mét tuyÕn truyÒn dÉn th«ng tin vµo hay ra mét chøc n¨ng nµo ®ã. Ký hiÖu: Luång d÷ liÖu + Chøc n¨ng: Lµ mét qu¸ tr×nh biÕn ®æi d÷ liÖu. KÝ hiÖu: Tªn chøc n¨ng + C¸c kho d÷ liÖu: Lµ mét d÷ liÖu ®îc lu l¹i, ®Ó cã thÓ ®îc truy cËp nhiÒu lÇn vÒ sau. KÝ hiÖu: Tªn kho d÷ liÖu + T¸c nh©n ngoµi: Mét t¸c nh©n ngoµi lµ mét thùc thÓ ngoµi hÖ thèng, cã trao ®æi th«ng tin víi hÖ thèng. KÝ hiÖu: Tªn t¸c nh©n ngoµi  BiÓu ®å luång d÷ liÖu møc khung c¶nh: Vâ TuÊn Hoµng - Líp 45K CNTT - §¹i Häc Vinh Trang 18 §Ò tµi : øng dông c«ng nghÖ LINQ x©y dùng website ca nh¹c Th«ng tin ngêi dïng Th«ng tin bµi h¸t, tin tøc, ngêi dïng T×m kiÕm th«ng tin Liªn hÖ Ngêi dïng Ph¶n håi Website Qu¶n trÞ Gãp ý KÕt qu¶ t×m kiÕm Th«ng tin yªu cÇu §¸p øng yªu cÇu Vâ TuÊn Hoµng - Líp 45K CNTT - §¹i Häc Vinh Trang 19 §Ò tµi : øng dông c«ng nghÖ LINQ x©y dùng website ca nh¹c  BiÓu ®å d÷ liÖu møc ®Ønh 1 2 Ngêi qu¶n trÞ 3 Ngêi dïng 4 5 6 7 Qu¶n lý nh¹c, tin tøc CËp nhËt th«ng tin T×m kiÕm Gãp ý Kho d÷ liÖu Chó thÝch: 1) Th«ng tin bµi h¸t, tin tøc nh¹c. 2) Th«ng tin ngêi dïng. 3) Qu¶n trÞ th«ng tin nh¹c. 4) §¸p øng yªu cÇu cña ngêi dïng. 5) Th«ng tin t×m kiÕm. 6) KÕt qu¶ th«ng tin t×m kiÕm. 7) Th«ng tin gãp ý cña ngêi dïng. Vâ TuÊn Hoµng - Líp 45K CNTT - §¹i Häc Vinh Trang 20
- Xem thêm -

Tài liệu liên quan

Tài liệu vừa đăng