Sự ra đời của mô hình dữ liệu quan hệ đã khắc phục được những khó khăn khi thiết kế và quản lí cơ sở dữ liệu theo mô hình mạng và mô hình phân cấp.
Thứ nhất, mô hình mạng và mô hình phân cấp sử dụng nguyên lý chủ nhân – thành viên, cha – con rất khó khăn cho việc thiết kế, sắp xếp và sau khi thiết kế xong muốn sửa đổi rất phức tạp, hầu như phải làm lại từ đầu. Mô hình quan hệ tổ chức dữ liệu dưới dạng bảng dễ hiểu và đơn giản hơn trong việc thiết kế và sửa đổi sau này. Ngoài ra, việc thiết kế mô hình quan hệ hoàn toàn độc lập với hệ quản trị cơ sở dữ liệu.
Thứ hai, các ngôn ngữ để tạo và thao tác các cấu trúc trong mô hình mạng và mô hình phân cấp rất khó sử dụng. Ví dụ khi sử dụng hệ quản trị IDMS đòi hỏi phải thông thạo về ngôn ngữ từ điển dữ liệu tích hợp và các trình biên dịch lược đồ và lược đồ con. Trong khi đó, các hệ quản trị theo mô hình quan hệ dễ sử dụng hơn vì sử dụng ngôn ngữ truy vấn dữ liệu ở mức độ cao như SQL,…
Do những ưu điểm trên cơ sở dữ liệu quan hệ ngày càng được sử dụng rộng rãi. Tuy nhiên, trong một số trường hợp, mô hình quan hệ trở nên không thích hợp, nhất là khi sử dụng nó để thể hiện những dữ liệu có quan hệ cấu trúc như cây hệ thống sinh học. đối với những loại dữ liệu loại này, sử dụng mô hình dữ liệu hướng đối tượng là thích hợp nhất.
Khi một cơ sở dữ liệu được xây dựng xong, thì việc tiếp theo là làm sao để có thể truy xuất thông tin từ cơ sở dữ liệu này, nghĩa là người dùng có thể nhận được các thông tin mà họ cần hay có thể bổ sung thêm một vài thông tin qua một giao diện thân thiện. Hơn thế nữa, người dùng còn muốn chia sẻ thông tin với các nơi khác. Để thực hiện được điều đó, người ta thường chọn giao thức CGI, hiển thị những đòi hỏi thông tin về cơ sở dữ liệu của người dùng thông qua dịch vụ web.
2.5.4. Ngƣời dùng (User)
Người dùng khai thác cơ sở dữ liệu thông qua hệ quản trị cơ sở dữ liệu có thể phân thành ba loại: người quản trị cơ sở dữ liệu, người phát triển ứng dụng và lập trình, người dùng cuối.
Người quản trị cơ sở dữ liệu, hàng ngày, chịu trách nhiệm quản lý và bảo trì cơ sở dữ liệu
Người phát triển và lập trình ứng dụng là những người chuyên nghiệp về máy tính có trách nhiệm thiết kế, tạo dựng và bảo trì hệ thông tin cho người dùng cuối.
Người dùng cuối là những người không chuyên về máy tính nhưng họ là các chuyên gia trong các lãnh vực khác có trách nhiệm cụ thể trong tổ chức. Họ khai thác cơ sở dữ liệu thông qua hệ được phát triển bởi người phát triển ứng dụng hay các công cụ truy vấn của hệ quản trị cơ sở dữ liệu.
2.5.5. Cơ sở dữ liệu quan hệ và hệ tập tin theo lối cũ
Tiếp cận cơ sở dữ liệu đã giải quyết 3 vấn đề của hệ tập tin theo lối cũ:
2.5.5.1. Vấn đề 1: Cấu trúc logic và cấu trúc vật lý
Hình 2. 3. So sánh cơ sở dữ liệu quan hệ và hệ tập tin theo lối cũ
Kiến trúc bên trong hệ quản trị cơ sở dữ liệu quan hệ tách biệt rõ ràng giữa:
Cấu trúc luận lý của tất cả tập tin và chương trình ứng dụng khai thác tập tin này
Cấu trúc vật lý của cơ sở dữ liệu và phần lưu trữ các tập tin.
Tiếp cận này tạo cho người quản trị cơ sở dữ liệu có thể thay đổi cấu trúc vật lý hay nơi lưu trữ của tập tin mà không ảnh hưởng đến chương trình ứng dụng.
2.5.5.2. Vấn đề 2: Dƣ thừa dữ liệu
Khi hệ quản trị cơ sở dữ liệu quan hệ được giới thiệu, nhiều tổ chức mong tích hợp các tập tin đã phân tán khắp trong tổ chức vào một cơ sở dữ liệu tập trung. Dữ liệu có thể chia sẻ cho nhiều ứng dụng khác nhau và người sử dụng có thể khai thác đồng thời các tập con dữ liệu liên quan đến họ. Điều này làm hạn chế sự dư thừa dữ liệu.
2.5.5.3. Vấn đề 3: Sự khai thác dữ liệu của ngƣời sử dụng
Trong hệ quản trị cơ sở dữ liệu quan hệ người dùng có thể trực tiếp khai thác dữ liệu thông qua việc sử dụng các câu truy vấn hay các công cụ báo cáo được cung cấp bởi hệ quản trị cơ sở dữ liệu.
2.6. Internet và Web [5]
2.6.1. Sơ lƣợc về Internet
2.6.1.1. Tóm lƣợc lịch sử phát triển
Năm 1957, Bộ quốc phòng Mỹ thành lập cơ quan nghiên cứu các dự án kỹ thuật cao ARPA (Advanced Research Projects Agency), thuộc một bộ phận trong bộ quốc phòng. Chỉ một thập niên sau, năm 1969, ARPA thiết lập mạng ARPANET – tiền thân của Internet ngày nay. ARPANET là một mạng máy tính nối bốn máy chủ tại các trường đại học California – Los Angeles, đại học California – Santa Barbara, viện nghiên cứu Standford và đại học Utah lại với nhau.
Từ năm 1969 đến 1986, số lượng máy chủ tăng lên khoảng năm ngàn. Đến năm 1973, mạng xuyên quốc gia đầu tiên được thiết lập giữa hai nước Anh và Na Uy.
Năm 1982, giao thức TCP/IP ra đời và nhanh chóng trở thành giao thức chuẩn.
Năm 1985 là năm bùng nổ Internet lần thứ 1 khi xa lộ thông tin thực sự hình thành. Lúc này có khoảng 2000 máy trên Internet.
2.6.1.2. Tổng quát về Internet
Internet là kho tài nguyên thông tin, là mạng của các mạng, là một tổ hợp hàng triệu máy tính trên toàn thế giới, có thể trao đổi, chia sẻ nguồn thông tin hầu như vô tận với nhau cho dù người dùng đang ở đâu và vào lúc nào. Các máy tính có thể đủ các loại và sử dụng các hệ điều hành khác nhau một cách bình đẳng.
Như vậy Internet là một mạng khổng lồ được tạo ra bằng việc kết nối các máy tính và các mạng máy tính lại với nhau. Nó kết hợp nhiều mạng máy tính riêng rẽ của các trường học, thư viện, các hãng kinh doanh, bệnh viện, các tổ chức nhà nước, viện nghiên cứu… và nhiều thành phần khác vào trong một mạng chung rộng lớn mang tính chất toàn cầu.
Từ đó, một loạt các thuật ngữ lần lượt ra đời như webServer, webClient, webPage, webSite, URL:
WebServer: Máy cung cấp thông tin dạng web. WebClient: Máy truy xuất thông tin từ web server.
WebSite: Tập hợp các trang web của một tổ chức, một website có thể có nhiều web server.
WebPage: Một trang tự liệu web.
URL (Uniform Resource Locator) đường dẫn chỉ đến một tập tin trong một máy chủ trên Internet.
Việc kết nối về mặt vật lý các mạng máy tính này được thực hiện thông qua các mạng viễn thông khác nhau như mạng điện thoại công cộng, kênh vệ tinh (satellite), các kênh vi-ba (micro-waves), các đường thuê riêng (dedicated lines), hoặc cáp quang (optical cable),…
Không thể có được sơ đồ cụ thể của mạng Internet vì các máy tính và các mạng máy tính liên tục đăng ký thêm vào mạng Internet cũng như các thông tin trên mạng cũng liên tục được thay đổi, cập nhật.
Các đặc tính chính của Internet:
Mạng thông tin phát triển với tốc độ nhanh chưa từng thấy trong lịch sử.
Mạng máy tính lớn nhất thế giới.
Mạng duy nhất có quy mô toàn cầu, lớn nhất về lãnh thỗ, số người tham gia, các hoạt động dịch vụ về thông tin.
Internet là công nghệ tin học tiên tiến nhất, mới nhất, là công nghệ chuẩn, công nghệ mở, sản phẩm trí tuệ chung của nhân loại.
Internet là mạng thông tin không có chủ hoặc có rất nhiều chủ. Công cụ không thể thiếu trong xã hội thông tin.
Bộ mặt văn hóa mới có tính toàn cầu. Thành phần của Internet bao gồm:
Các máy chủ (Host Computer hay Internet Server). Các máy trạm (Work Station hay Client).
Các thiết bị đầu cuối như Card mạng, Hub, Router,… Đường truyền.
Các phần mềm quản trị Server trên máy chủ. Các phần mềm Client trên máy người dùng.
2.6.2. Các dịch vụ đƣợc cung cấp trên Internet 2.6.2.1. Phân loại khối thông tin
Khối thông tin mở cho công cộng: bao gồm các thông tin về văn hóa, xã hội, giáo dục và đào tạo, khoa học kỹ thuật, kết quả của các công trình nghiên cứu khoa học công nghệ. Bất cứ ai thuộc mạng, một khi đã truy cập vào mạng, tại bất kỳ điểm nút nào, bất cứ lúc nào đều có thể khai thác và nhận được tất cả thông tin thuộc loại mở này.
Khối thông tin không mở cho công cộng: bao gồm các hệ thống cơ sở dữ liệu chuyên ngành do các tổ chức có mạng con hoặc có các máy chủ ở bất cứ nước nào xây dựng và thiết lập để phục vụ cho các nhu cầu riêng của họ và để bán thông tin. Các cơ sở dữ liệu này thường được bảo mật cao, chỉ những người sử dụng nào được phép mới có quyền truy nhập và khai thác.
2.6.2.2. Các dịch vụ cơ bản
Tìm kiếm thông tin.
Thư điện tử.
Truyền File.
Trao đổi trực tiếp.
Truy cập máy tính khác.
2.6.3. Tích hợp cơ sở dự liệu với web
Có nhiều kỹ thuật được dùng để tích hợp cơ sở dữ liệu với web để tạo ra trang web động như CGI, PHP, ASP, JSP, Coldfusion.
2.7. Ngôn ngữ lập trình Perl và Javascript 2.7.1. Ngôn ngữ Perl [7] 2.7.1. Ngôn ngữ Perl [7]
2.7.1.1. Tóm tắt lịch sử phát triển
Perl là chữ viết tắt của “Practical Extraction and Report Language”. Larry Wall tạo ra ngôn ngữ Perl năm 1986 nhằm quản trị và cấu hình các mạng máy tính lớn. Ngôn ngữ này phát sinh từ ngôn ngữ lập trình C và bị ảnh hưởng bởi ngôn ngữ khác như BASIC, awk, sed và UNIX shell.
Năm 1988, Perl 2.0 phát hành và được các nhà quản trị UNIX sử dụng rộng rãi.
Năm 1989, Perl 3.0 ra đời, nhưng phiên bản này được phát hành dưới bản quyền được bảo vệ của GNU. Với phiên bản này Perl nhanh chóng trở thành tiêu chuẩn để viết CGI script dùng cho việc xử lý dữ liệu được gửi trên Internet.
Năm 1991, phiên bản 4.0 được đưa ra vào tháng 3. Đến thời điểm này, Perl đã trở thành ngôn ngữ khá hoàn chỉnh mặc dù vẫn còn một số khuyết điểm nhỏ.
Năm 1994, phiên bản Perl 5.0 ra đời cùng với sự ra đời của DBI (Database Interface) và DBD (Datadbase Driver) cho hệ quản trị cơ sở dữ liệu Oracle của Tim Bunce. Từ đó, các DBD của các hệ quản trị cơ sở dữ liệu khác cũng dần xuất hiện.
Năm 2000, phiên bản 5.6 xuất hiện vào tháng 3. Phiên bản này đã chuyển sang định dạng tiêu chuẩn và có sự hỗ trợ cả Unicode và UTF-8.
Năm 2002, phiên bản Perl 5.8 ra đời cùng với nhiều cải tiến mới được bổ sung.
2.7.1.2. Ứng dụng
Perl được dùng để xử lý tập tin, truy cập dữ liệu và được dùng cho giao diện cổng chung (Common Gateway Interface – CGI), tiến hành tạo script của Microsoft Windows, tạo giao diện người dùng đồ họa (graphical user interface – GUI).
Ưu điểm: là ngôn ngữ dễ nắm bắt, thích hợp cho xử lý chuỗi và văn bản thuần túy, được sự hổ trợ của nhiều hệ điều hành. Vì vậy, Perl là ngôn ngữ lập trình thích hợp cho các nhà tin – sinh học vì nó có thể giúp cho việc thao tác trên các chuỗi trình tự sinh học, tạo cơ sở dữ liệu sinh học dễ dàng hơn. Ngoài ra, Perl còn được sự hỗ trợ module (tập các hàm) giúp kết nối, truy xuất cơ sở dữ liệu với trang Web, tạo ra trang web động.
Nhược điểm: chỉ có thể dùng để viết các chương trình, script nhỏ.
2.7.1.3. Một số module của Perl thƣờng đƣợc sử dụng
Mudule CGI (Common Gateway Interface – CGI) của Perl: do Lincoln D. Stein viết. Module này gồm các hàm giúp viết kịch bản Perl
theo giao thức CGI. Các script này giúp lấy thông tin từ trình diệt khách gởi đến máy chủ, đưa vào chương trình sử lý và đưa lại thông tin kết quả đến máy khách.
Module DBI (Database Interface) của Perl: là tập các hàm, biến và những qui ước cần thiết cho việc tương tác với một cơ sở dữ liệu nhất định thông qua Perl script, hoàn toàn độc lập với hệ quản trị cơ sở dữ liệu (do tác giả của DBI, Tim Bunce, định nghĩa). Những tương tác có thể nhập, nâng cấp, xử lý, rút trích,…dữ liệu vào hay ra khỏi cơ sở dữ liệu.
Module DBD (Datadbase Driver) của Perl: là một module phụ thuộc loại hệ quản trị cơ sở dữ liệu và liên kết với module BDI để truy cập vào một loại hệ quản trị cơ sở dữ liệu nhất định. Như vậy tương ứng với một hệ quản trị cơ sở dữ liệu có một loại DBD. Ví dụ như hệ quản trị MySQL có Database Driver là DBD::MySQL.
Hình 2. 4. Tƣơng tác giữa Perl script-DBI-DBD-và RBDMS 2.7.2. Ngôn ngữ Javascript [6]
Javascript đã và đang phát triển một cách vững chắc về mặt phổ cập lẫn khả năng kể từ khi nó ra đời và hiện giờ đã trở thành ngôn ngữ số một dành cho trình duyệt. Công nghệ này có hai thế mạnh chính: hỗ trợ nhiều trình duyệt khác nhau và có thể lập trình dễ dàng. Công nghệ này thành công đến nỗi nó không chỉ là ngôn ngữ lập trình cho các trình duyệt mà còn được dùng để lập trình cho các tập tin PDF và lập trình cho máy chủ web.
P E R L S C R I P T D B I S w i t c h DBD DBD DBD RDBMS RDBMS RDBMS
2.7.2.1. Định nghĩa Javascript
Javascript ra đời với tên gọi là LiveScript, tuy nhiên Netscape đã thay đổi tên gọi thành Javascript. Tuy nhiên, tên gọi này đã gây ra lúng túng cho một số người khi cho rằng có một mối quan hệ gần gũi giữa Java và Javascript. Trong thực tế, giữa hai ngôn ngữ này có rất ít các điểm chung, dù rằng cú pháp của chúng có thể giống nhau.
Năm 1996, ngôn ngữ Javascript được tạo ra bởi Netscape và được đưa vào trong trình duyệt Netscape Navigator 2.0 của họ thông qua một trình biên dịch để đọc và thực hiện các mã lệnh Javascript được kèm theo trong các trang .HTML. Ngôn ngữ này ngày càng trở nên phổ cập và hiện giờ đã được hỗ trợ bởi phần lớn các trình duyệt trên Internet: các trình duyệt được tạo bởi ra bởi Netscape và Microsoft, cũng như các trình duyệt ít phổ biến hơn như Opera.
2.7.2.2. Javascript có thể làm gì?
Các hiệu ứng rollover (thay đổi hình ảnh khi di chuyển chuột lên phía trên hình ảnh) và các thủ thuật HTML đều có gắn liền với Javascript.
Kiểm tra tính hợp lệ về dữ liệu người dùng, kiểm tra xem dữ liệu được nhập vào có phù hợp không trước khi chúng được gửi lên máy chủ.
Khi Javascript được phát triển theo đúng chức năng của mình, các nhà phát triển và các nhà thiết kế có thể tạo ra nhiều hiệu ứng và tương tác trực quan có ấn tượng hơn cho người dùng.
2.7.2.3. Ƣu và nhƣợc điểm của Javascript
Ưu điểm:
Khả năng chạy trên nhiều trình duyệt.
Kiểm tra tính hợp lệ của dữ liệu trên máy khách.
Khả năng tạo ra các giao diện người dùng tinh tế và phức tạp. Các hiệu ứng tạo ra bởi Javascript còn có thể được tải xuống nhanh hơn rất nhiều so với một số công nghệ khác như Flash và Java applets.
Các ưu điểm khác bao gồm: không cần phải có các công cụ riêng biệt để viết Javascript, có thể sử dụng bất kỳ trình soạn thảo văn bản
hoặc HTML nào để thực hiện việc đó, không phải tốn chi phí để mua các sản phẩm phần mềm vốn thường là không rẻ. Javascript cũng là một ngôn ngữ dễ học, trên Internet có rất nhiều nguồn thông tin và nhiều cộng đồng các nhà phát triển có tính hỗ trợ nhau trong việc phát triển ứng dụng Javascript để tham khảo.
Nhược điểm:
Phụ thuộc vào tính tương thích của trình duyệt
2.8. Cơ sở dữ liệu sinh học
Dữ liệu sinh học ngày càng tăng theo cấp số mũ qua các dự án giải trình tự bộ gene, do sự phát triển của kỹ thuật và thiết bị thí nghiệm như kỹ thuật DNA micro array, kỹ thuật giải trình tự tự động cho phép tạo ra hàng ngàn dữ liệu sinh