2009-02-24 57 views

Trả lời

20

Trước tiên và quan trọng nhất là tìm hiểu và hiểu miền doanh nghiệp.

1) Bạn đang tìm kiếm với tốc độ giao dịch cao như một trang web bận rộn, hoặc sử dụng thấp như aa công ty nhỏ hệ thống HR

2) là an ninh là một vấn đề lớn - bạn đang xử lý thông tin cá nhân, hoặc dữ liệu tài chính . Hoặc là nó chỉ là một danh mục sản phẩm

3) người dùng của bạn sẽ được làm nhiều cập nhật/chèn hoặc là nó chủ yếu chỉ đọc

4) Có bao nhiêu người sử dụng, các mô hình sử dụng (phụ tải đỉnh hoặc phân bố đều là gì)

5) bạn có cần 24x7, 16x5 hoặc thời gian hoạt động khác, 24x7 là khó khăn hơn nhiều việc phải làm khi bạn không có thời gian xuống để bảo trì

6) làm thế nào lớn là DB sẽ đi đâu? Nếu nó thực sự lớn, bạn sẽ phải thiết kế bảng của bạn để lấy tài khoản đó và/hoặc phân vùng

7) Bạn cần phải nhìn vào cụm doanh nghiệp có nóng không hơn, hay chỉ là bình thường lưu trữ

8) DB sẽ được quản trị như thế nào, trong hầu hết các dự án DB, 95% nỗ lực được dành cho người dùng và ứng dụng của họ, quản trị viên DB bị lãng quên

9) DB Admin, từ trước bao gồm sao lưu, thay đổi hệ thống khác, tích hợp với các hệ thống khác, tải dữ liệu

10) Thực tế việc tải dữ liệu và sử dụng dữ liệu hiện có là một vấn đề g theo đúng nghĩa của nó.

Đó là nó cho một sự khởi đầu

+1

Bảo mật, hiệu suất, tính khả dụng ... nhưng tính toàn vẹn dữ liệu và mô hình hóa chính xác UoD thậm chí không làm cho 10 điều "quan trọng nhất" của bạn :( – sqlvogel

+0

+1 cảm ơn rất hữu ích – Anthony

5

Độ trung thực với các thực thể trên thế giới thực mà cơ sở dữ liệu được cho là mô hình hóa.

+0

+1 nếu bạn không có điều đó, bạn sẽ có một mớ hỗn độn sẽ không bao giờ hoạt động chính xác. –

4

Cá nhân tôi đề nghị chọn hoặc mượn một bản sao "Thiết kế cơ sở dữ liệu cho những người chết". Tất cả mọi thứ bạn cần phải xem xét trong việc thiết kế một cơ sở dữ liệu sẽ được liệt kê trong cuốn sách đó, và nó theo thứ tự rất hợp lý và có trật tự, trong đó bạn có thể xây dựng cơ sở dữ liệu. Các định nghĩa bảng và cột là tẻ nhạt, nhưng giá trị mỗi phút được sử dụng cuối cùng.

Tôi tin rằng bạn có thể đọc chương đầu tiên nếu sách qua Google Sách hoặc qua bản xem trước trang trên Amazon.com.

Có một số mẩu tin mà bạn có thể tìm hiểu theo thời gian hoặc từ trang web này là 'các phương pháp hay nhất', nhưng không có gì đánh bại thiết kế từ đầu theo đúng cách trong lần thử đầu tiên.

14

Cơ sở dữ liệu chỉ là thứ yếu để thiết kế quy trình kinh doanh của bạn và sạch nên hỗ trợ quá trình kinh doanh của bạn một cách trực tiếp và đơn giản. Bạn sẽ nhận được nhiều lợi ích hơn từ một mô hình thực thể tốt, sạch sẽ, thực thể hơn bạn sẽ từ một chỉ mục ở đây và ở đó. Vì vậy, một khi quá trình của bạn được xác định, bạn lấy nó và chia nó thành "thực thể" càng sạch càng tốt với các quan hệ có ý nghĩa. Khi bạn biết các thực thể của mình, chúng sẽ chuyển thành các bảng cơ sở dữ liệu.

Một trong những điều quan trọng nhất cần làm là không quá cấu trúc.

Để cung cấp cho bạn câu trả lời bằng một số răng, hãy lấy một thực thể "xe" làm ví dụ. Một chiếc xe có nhiều bánh xe. Bạn có một quyết định quan trọng để làm cho biết rằng sẽ có nhiều bánh xe gắn liền với chiếc xe. Bạn có 2 lựa chọn để thực hiện - Bạn có thể làm cho "bánh xe" một thực thể riêng biệt, hoặc bạn có thể làm cho "số bánh xe" một trường số nguyên trong thực thể "Xe".

Nếu bạn hoàn toàn biết bạn sẽ cần phải lưu trữ nhiều thông tin thay đổi về mỗi bánh xe, sau đó tạo một thực thể "Bánh xe". Bây giờ bạn có một mối quan hệ giữa các thực thể (chiếc xe và bánh xe).

Nếu không, một trường đơn giản sẽ hoạt động tốt.

Suy nghĩ thông qua các quyết định quan trọng này và làm cho mọi việc càng đơn giản càng tốt là điều quan trọng nhất đối với tôi khi thiết kế cơ sở dữ liệu. Nó có thể làm cho sự khác biệt giữa những thứ thực sự dễ dàng và thực sự khó khăn khi bạn xây dựng (các) lớp tiếp theo của ứng dụng của bạn.

1

Một tập cơ bản của điểm:

  • Xác định mục đích của hệ thống của bạn.
  • Xác định các thực thể mà hệ thống của bạn sẽ cần.
  • Xác định thông tin mà mỗi thực thể nên cung cấp.
  • Xác định mối quan hệ thoát giữa các thực thể của bạn
  • Người dùng muốn biết gì và làm gì với dữ liệu của bạn.
  • Thiết kế cơ sở dữ liệu khái niệm và hợp lý
  • Chuẩn hóa và ERD
  • Xác định các trường có giá trị duy nhất.
  • Chọn loại dữ liệu thích hợp cho các trường của bạn.
  • Tái cấu trúc cơ sở dữ liệu.
1

bạn cũng phải hiểu cơ sở dữ liệu sẽ được sử dụng để làm gì. nếu nó dành cho các giao dịch (OLTP), nó phải được bình thường hóa càng tốt, và mục tiêu là cho các giao dịch được hoàn thành càng nhanh càng tốt. nếu đó là để phân tích và/hoặc báo cáo (OLAP), nó sẽ được denormalised ở nhiều nơi mà bạn sẽ được thực hiện tập hợp. xem xét thiết kế cho cơ sở dữ liệu OLTP không áp dụng cho cơ sở dữ liệu OLAP và ngược lại.

2

Biết dữ liệu của bạn.

1

ai sẽ xây dựng và duy trì nó, ở đâu, bằng cách nào và với cái gì. Bạn có phương pháp và quy trình và quy trình để thực hiện việc này hay chỉ cần thực hiện nó. Chắc chắn nhu cầu kinh doanh thúc đẩy dữ liệu cần thiết cần được ghi lại trong một ERD độc lập thực hiện. Nhưng, bạn cũng phải suy nghĩ về việc ai sẽ duy trì dữ liệu theo thời gian. Cũng như ai "sở hữu" dữ liệu. Ai sở hữu định nghĩa thuộc tính và thuộc tính.

1

Yêu cầu thông tin là phần quan trọng nhất.

Đây là một cách khác để nói "xác định mục đích của hệ thống của bạn", từ phản hồi do CMS cung cấp.

Mô hình hóa dữ liệu khái niệm chỉ là một cách thu thập và trình bày các yêu cầu thông tin có tổ chức.Mọi giá trị được lưu trữ và phục vụ bởi cơ sở dữ liệu được kết nối với một thuộc tính và mọi thuộc tính cho một miền. Các thuộc tính, lần lượt, mô tả các thực thể hoặc các mối quan hệ giữa các thực thể. Các đối tượng và mối quan hệ đối tượng tạo nên cấu trúc khái niệm của "thế giới thực" mà dữ liệu mô tả. Xây dựng một ERD từ một mô hình khái niệm là dễ dàng, mặc dù tẻ nhạt.

Sau đó, bạn có thể chọn một DBMS, thiết kế cơ sở dữ liệu logic, thiết kế cơ sở dữ liệu vật lý và xây dựng. Ở mỗi bước, các quyết định bạn thực hiện có thể đảo ngược hơn, do độc lập dữ liệu. Độc lập dữ liệu gói gọn các quyết định thiết kế bên trong cơ sở dữ liệu, ngoại trừ các hậu quả về hiệu năng. Bạn phải biết công cụ của bạn, tất nhiên.

Có công cụ quản lý mô hình và chuyển đổi chúng thành biểu đồ và tập lệnh có thể rất hữu ích trong việc đẩy nhanh quá trình này và cắt giảm lỗi.

Nhưng nếu bạn có lỗi nghiêm trọng hoặc thiếu sót trong yêu cầu thông tin của bạn, không có số lượng thiết kế thông minh hoặc thực hiện sẽ bù đắp cho điều đó.

7

1 - Tính nhất quán

Theo thời gian, cơ sở dữ liệu của bạn sẽ thay đổi và những người khác cần làm việc với cơ sở dữ liệu. Làm cho bạn và họ một ưu và đảm bảo rằng các cấu trúc được đặt tên theo cách mà bất kỳ người hợp lý với kiến ​​thức tên miền cơ bản sẽ có thể dự đoán nội dung của bảng. Dành thời gian để viết ra (có thể đơn giản như notepad) một số cấu trúc cơ bản mà bạn sử dụng.

Ví dụ:

phím
  • Primary tất cả bắt đầu với IdTableName
  • Vỏ bọc của tên bảng là Pascal
  • phím nước ngoài là tất cả TableNameId
  • ext ...

Cho dù bạn chọn sử dụng dấu gạch dưới hay không (thay thế bất kỳ chuyển đổi nào khác cho dấu gạch dưới) không thực sự quan trọng vào cuối ngày khi l ong như bạn nhất quán theo cách bạn sử dụng hoặc không sử dụng chúng.

Cơ sở dữ liệu của bạn là tuyến phòng thủ cuối cùng cho toàn vẹn dữ liệu. Làm tất cả các truy cập dữ liệu của bạn thông qua các thủ tục được lưu trữ và thực thi tính toàn vẹn của dữ liệu bằng cách sử dụng các ràng buộc kiểm tra, các khóa ngoại và vv. Nhập dữ liệu chính xác, không sử dụng VARCHAR (50) khi CHAR (5) cụ thể hơn và chính xác hơn.

Một người khác đã đề cập đến điều gì đó về việc giữ cho nó đơn giản. Cuối cùng nhưng không kém phần quan trọng là đừng xây dựng một cái gì đó bởi vì bạn "nghĩ" bạn sẽ cần nó vào tháng tới. Mọi thứ thay đổi nhanh chóng và bạn sẽ phải bảo trì nhiều hơn trên những thứ bạn "nghĩ" bạn sẽ sử dụng thay vì những thứ bạn đang sử dụng nếu bạn điền vào cơ sở dữ liệu của mình.

1

Một cơ sở dữ liệu tốt có thể được đánh giá như sau:

Nếu một cơ sở dữ liệu được thiết kế đúng cách, bạn sẽ có thể hiểu làm thế nào một doanh nghiệp hoạt động bằng cách nhìn vào gì khác thì schema.

Nói cách khác, cơ sở dữ liệu doanh nghiệp. Nếu cơ sở dữ liệu không phản ánh cách thức hoạt động của doanh nghiệp, cơ sở dữ liệu sai hoặc doanh nghiệp sai.

Cơ sở dữ liệu cũng là một trong số ít những thứ bạn thực sự thực sự cần làm móng tay trả trước. Bạn luôn có thể sửa mã xấu, nhưng hiếm khi bạn có thể thoát khỏi thay đổi giản đồ xấu. Hãy chắc chắn để làm điều đó đúng.

0
  • Naming Conventions: dính vào một bộ quy tắc
  • Normalization: (mức độ bình thường) - điều này sẽ phụ thuộc của số đọc vs số cập nhật so sánh của một đơn vị dữ liệu.
  • Tính toàn vẹn quan hệ và các ràng buộc khác: một số người ủng hộ việc sử dụng Khóa ngoại trong khi một số thì không, nhưng bạn phải chọn điều đó dựa trên yêu cầu và sở thích cá nhân của bạn vì nó là một cuộc tranh luận lớn, nhưng tôi luôn chọn sử dụng FKs
  • Tạo sơ đồ cơ sở dữ liệu, phân tích và thảo luận với nhóm nếu có thể.
Các vấn đề liên quan