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 học trong chốc lát. Như vậy vấn đề đặt ra là cần phải có biện pháp lưu trữ, quản lý, sử dụng và chia sẽ nguồn dữ liệu này. Do đó cần xây dựng các dữ liệu này thành một cơ sở dữ liệu hoàn chỉnh để có thể thực hiện được mục đích trên. Hơn thế nữa, với việc hệ thống hóa toàn bộ dữ liệu trên, chúng ta dễ dàng thực hiện việc chia sẽ những thông tin ấy qua mạng Internet hay kết nối thêm vào những tập dữ liệu ở nơi khác.
Một số cơ sở dữ liệu lớn, trực tuyến đã được xây dựng để cung cấp thông tin cho các nhà nghiên cứu sinh học như NCBI, EBI, SIB, DDBJ,…
2.8.1. NCBI
2.8.1.1. Vài nét về NCBI
Hình 2. 5. Tƣơng quan giữa NCBI, NLM (National Library of Medicine và NIH)
NCBI là chữ viết tắt của “Center for Bioinformatic Information”. Đây là trung tâm quốc gia về Công nghệ sinh học, thuộc viện sức khỏe quốc gia của Hoa kỳ (NIH – National Insitute of Health). NCBI chính thức được
NLM
NCBI NIH
thành lập vào ngày 4/10/1988. Đến năm 1991, NCBI đảm nhiệm việc quản lý cơ sở dữ liệu trình tự DNA và từ đó NCBI còn được gọi là GenBank.
NCBI là nơi cung cấp, trao đổi thông tin về sinh học phân tử của Mỹ, thông qua những cơ sở dữ liệu trực tuyến. Ngoài ra, NCBI còn tham gia những nghiên cứu về “sinh học tính toán” (computation biology), phát triển những công cụ phân tích dữ liệu bộ gene, protein,…
2.8.1.2. Một số cơ sở dữ liệu trong NCBI
Nucleotide (GenBank): là cơ sở dữ liệu về trình tự nucleotide.
Protein: là cơ sở dữ liệu về trình tự amino acid.
Genome: trình tự toàn bộ genome của một số sinh vật.
Structure: hay còn có tên gọi là MMDB (Molecular Modeling Database) chứa cấu trúc ba chiều của những đại phân tử bao gồm cả protein lẫn những chuỗi nucleotide.
Ngoài ra, NCBI còn một số cơ sở dữ liệu khác. Chúng là các cơ sở dữ liệu trung gian, được tạo thành từ sự kết hợp của hai hay nhiều cơ sở dữ liệu trên, hay do liên kết đến các cơ sở dữ liệu khác.
2.8.1.3. Một số công cụ trong NCBI
Công cụ khai thác dữ liệu:
Tìm kiếm thông tin sinh học dựa trên từ khóa có dạng văn bản: Entrez: chứa các phương thức tìm kiếm như tìm kiếm dựa trên accession number, hay dựa theo tên sinh vật, tên gene, tên protein,… trên tất cả các cơ sở dữ liệu.
Tìm kiếm trình tự tương đồng: có phần mềm điển hình như:
BLAST (Basic Local Alignment Search Tool): có BLAST Homepage là nơi cung cấp thông tin hướng dẫn về BLAST, chương trình BLAST,…
Blink: nơi hiển thị kết quả bằng BLAST trên mọi protein có trong mọi cơ sở dữ liệu protein Entrez.
Network-client BLAST: client BLAST (blastcl3) có thể thâm nhập vào bộ máy BLAST của NCBI. Blastcl3 này có thể tìm kiếm tất cả các trình tự dưới dạng file FASTA và tạo sự gióng cột một-
nhiều trình tự, sau đó lưu dưới dạng file text hay HTML. Ngoài ra, blastcl3 còn có thể thực hiện việc tìm kiếm trên nhiều cơ sở dữ liệu.
Stand-alone BLAST: là phần mềm có thể tải về từ NCBI. Phần mềm này thực hiện việc tìm kiếm các trình tự tương tự trên cơ sở dữ liệu trình tự cục bộ.
Phân loại sinh vật: