PDA

View Full Version : کمک در طراحی و کد نویسی



payam200525
جمعه 02 خرداد 1393, 14:46 عصر
سلام دوستان....من قصد دارم به عنوان اولین پروژه کاری خودم یک بانک اطلاعاتی برای وارد کردن مشخصات مشتریهای یک مغازه درست کنم! چند مساله رو میخوام از دوستان کمک بگیرم....
اول اینکه هر مشتری ممکن است چند بار از یک مغازه خرید کنه که میخوام هر دفعه که از مغازه خرید کرد صاحب مغازه بتونه لیست و مشخصات خرید اون رو به اضافه تاریخ و یک کد اشتراک وارد کنه!بنظر شما اس کیو ال سرور برای این منظور کافی هست؟
دوم اینکه میخوام صاحب مغازه با وارد کردن کد اشتراک بتونه از لیست خرید مشتری در هر زمان و هرتاریخی باخبر بشه و با کلیک روی تاریخ مورد نظر اون رو بطور کامل ببینه.... بنظر شما باید برای هر مشتری در اس کیو ال یک table جدا گانه ساخته بشه؟
اگر بخواهیم این table ها جداگانه باشن چجوری باید امکان جستجو رو با استفاده از کد اشتراک بوجود بیاریم...
سوم اینکه آیا میشه در سی شارپ کدی رو بنویسیم که در اس کیو ال بصورت اتوماتیک برای هر مشتری table جداگانه باز کنه؟
ممنون میشم کمک کنید!!

mara123
سه شنبه 13 خرداد 1393, 13:55 عصر
CREATE TABLE: جداول ساختمان بندی پایه یک بانک اطلاعاتی اند که اطلاعات را در خود جای میدهند . برنامه های بسیاری هستند که بدون استفاده از کد های sql برای شما جدول میسازند . اما یادگیری این دستورات برای کسی که با جداول و دیتابیس کار میکند ضروری است.
قبل از یادگیری گرامر دستوری ساخت جدول ، باید منطق و اصول ساخت جدول را بیاموزید . جداول به سطرها (ROW) و ستون ها (COLUMN) تقسیم میشوند . هر سطر یک رکورد از اطلاعات را در خود جای داده است.هر سطر چند فیلد دارد .
مثال : مثلا کارنامه مدارس را در نظر بگیرید .مثلا 3 ستون دروس ، نمره و تاریخ دارد و سطر های آن هر کدام شامل سه بخش هستند طبق دسته بندی ستون هایش .
سطر اول : ریاضی – 12 - 12/3/1384
سطر دوم : فیزیک – 14 - 16/3/1384
و بهمین ترتیب .پس هر سطر جدول را یک رکورد می نامیم . هر ستون جدول (فیلد) دارای یک نوع داده است . در مثال فوق ستون دروس از نوع string و ستون نمرات از نوع integer و ستون تاریخ از نوع date است . هنگام ساخت جدول که فیلد هایش را مشخص میکنید باید نوع داده ای فیلد ها نیز مشخص گردد. کد ساخت جدول بصورت زیر میباشد :
CREATE TABLE "table_name"
("column 1" "data_type_for_column_1",
"column 2" "data_type_for_column_2",
... )
کد ساخت یک جدول نمونه :
CREATE TABLE customer
(First_Name char(50),
Last_Name char(50),
Address char(50),
City char(50),
Country char(25),
Birth_Date date)



DROP TABLE : گاهی ما دلمون میخواد که بهر دلیلی از دست یک جدول در پایگاه داده خود راحت شویم . SQL این امکان رو برای ما فراهم کرده و ما میتونیم برای پاک کردنش از کد زیر استفاده کنیم .
DROP TABLE "table_name"
مثال :
DROP TABLE customer.



TRUBCATE TABLE : گاهی ما میخواهیم که اطلاعات داخل یک جدول رو پاک کنیم . اما نمیخواهیم خود جدول پاک شود. برای اینکار ازین دستور کمک میگیریم
TRUNCATE TABLE "table_name"
مثال :
TRUNCATE TABLE customer.



INSERT INTO : برای ورود اطلاعات داخل یک جدول دو راه وجود دارد. یکی اینکه رکورد ها را تک تک وارد کنیم (سطر به سطر) و یکی اینکه یکدفعه چندین سطر را وارد جدول کنیم . برای وارد کردن اطلاعات بصورت سطر به سطر با کد زیر عمل میکنیم .
INSERT INTO "table_name" ("column1", "column2", ...)
VALUES ("value1", "value2", ...)
فرض کنید جدول با ساختار زیر داریم .
Table Store_Information


نام ستون ها
نوع داده ستون


store_name
char(50)


Sales
float


Date
datetime



و حالا ما میخواهیم یک رکورد(سطر) اطلاعات وارد جدول فروش کنیم . با مشخصات ذیل : لوس آنجلس – 10 ژانویه 1999 و فروش 900$ . بنابرین کد زیر را استفاده میکنیم.
INSERT INTO Store_Information (store_name, Sales, Date)
VALUES ('Los Angeles', 900, 'Jan-10-1999')
نوع دوم از ورود اطلاعات وارد کردن چندین سطر با هم میباشد . بر خلاف بخش قبلی ، ما از کلمه SELECT برای مشخص کردن داده هایی که میخواهیم وارد جدول کنیم استفاده میکنیم . اگر فکر کرده اید که این اطلاعات از جدول دیگری در حال کپی در این جدول است درست فکر کرده اید.
INSERT INTO "table_name" ("column1", "column2", ...)
SELECT "column1", "column2", ...
FROM "table1"
توجه کنید که کد بالا ساده ترین حالت ممکن بود .جمله select شما می تواند دارای کلمات where , Group by , Having باشد .
بطور مثال اگر ما جدولی داشته باشیم که بخواهیم اطلاعات فروش سال 1998 را بگیرد و هم اکنون جدول دیگری دارید که اطلاعات تمام سال های 1995 تا 2000 را شامل میشود و اگر ساختار دو جدول یکسان باشد باید تایپ کنید :

INSERT INTO Store_Information (store_name, Sales, Date)
SELECT store_name, Sales, Date
FROM Sales_Information
WHERE Year(Date) = 1998

در اینجا من اطلاعات را بر اساس یک تاریخ استخراج کردم و در جدول دیگری کپی کردم. اگر رابطه ها را در حالات دیگر بسازید کمی با این حالت فرق دارد . برای مثال در اوراکل تکه آخر کد بصورت زیر در میاید :
WHERE to_char(date,'yyyy')=1998



UPDATE : گاهی ما در یک جدول اطلاعاتی داریم و میخواهیم مقداری را در جدول تغییر دهیم .برای اینکار از دستور UPDATE استفاده می کنیم .
UPDATE "table_name"
SET "column_1" = [new value]
WHERE {condition}
مثال : ما جدول زیر را داریم .
Table Store_Information


store_name
Sales
Date


Los Angeles
$1500
Jan-05-1999


San Diego
$250
Jan-07-1999


Los Angeles
$300
Jan-08-1999


Boston
$700
Jan-08-1999



مثلا ما متوجه میشویم که مقدار فروش فروشگاه لوس آنجلس در تاریخ 01/08/1999 در اصل 500$ بوده و باید این مقدار را در جدول تصحیح کنیم . برای اینکار از کد زیر استفاده میکنیم.
UPDATE Store_Information
SET Sales = 500
WHERE store_name = "Los Angeles"
AND Date = "Jan-08-1999"
بعد از اجرای کد بالا مقادیر جدول بصورت زیر در میاید .
Table Store_Information


store_name
Sales
Date


Los Angeles
$1500
Jan-05-1999


San Diego
$250
Jan-07-1999


Los Angeles
$500
Jan-08-1999


Boston
$700
Jan-08-1999



در جدول مذکور فقط یک رکورد بود که تاریخش Jan-08-1999 و نام فروشگاهش Los Angeles باشد . اگر لچند رکورد با این مشخصات وجود داشت نیز تمام آنها مقدارشان تغییر میکرد . در مثال فوق فوق یک رکورد وجود داشت با مشخصاتی که ما دادیم و فقط هم یک فیلدش را تغییر دادیم .
این امکان وجود دارد که مقدار چند فیلد را به یکباره تغییر دهیم . برای اینکار از گرامر کد زیر استفاده میشود .
UPDATE TABLE "table_name"
SET ("column_1", "column_2") = ([new value 1], [new value 2])
WHERE {condition}



UPDATE : برای پاک کردن یک رکورد از جدول ازین کد استفاده میکنیم .
DELETE FROM "table_name"
WHERE {condition}
مثال : جدول زیر را داریم .
Table Store_Information


store_name
Sales
Date


Los Angeles
$1500
Jan-05-1999


San Diego
$250
Jan-07-1999


Los Angeles
$300
Jan-08-1999


Boston
$700
Jan-08-1999



فرض کنید بخواهیم اطلاعات فروشگاه لوس آنجلس را پاک کنیم . برای اینکار از کد زیر استفاده میکنیم .
DELETE FROM Store_Information
WHERE store_name = "Los Angeles"
نتیجه:
Table Store_Information

------------
طراحی سایت (http://www.sitebaran.ir)


store_name
Sales
Date


San Diego
$250
Jan-07-1999


Boston
$700
Jan-08-199