PDA

View Full Version : تقسيم كار بين Visual Studio و SQL Server



Davood_amega
سه شنبه 08 تیر 1389, 16:36 عصر
در SQl Server علاوه بر ايجاد Table ها و ارتباط بين اونها كارهاي زير وجود دارد مثل:
الف- ايجاد Query
ب- ايجاد Store Procedure
ج- ايجاد Backup
د- ايجاد امنيت ( ايجاد User و ... )
تا اونجاي كه خوندم همه اين كارها در Visual Studio تعبيه شده ( ويزاردي و يا با استفاده از دستورات ) .
و حالا سوالاتم :
1- اصولا بايد در هر كدوم از اين كارها از كدوم (SQl Server يا Visual Studio ) استفاده كرد ؟
2- چه مزاياي دارد كه تو اين كارها از SQL Server استفاده كرد ؟ و آيا قابليت فراخواني هر كدوم در Visual Studio تعبيه شده است ؟
3- آيا در Visual Studio ميتونيم User ايجادكنيم و سطح دسترسي براش مشخص كنيم ؟( يا اينكه در SQL Server بايد User را درست كنيم و فقط تو Visual Studio فراخوانيش كنيم .)

انیشتین
سه شنبه 08 تیر 1389, 18:52 عصر
سلام
فکر کنم اگر لایه بندی برنامه رعایت شه یعنی تمام کار های دیتابیس در DBMS و کارهای اینتر فیس تو دات نت انجام شه هم کار طراحی برنامه و هم عیب یابی اون راحت تره و هم به ظاهر اصولی تر میاد
بعد اینکه تقریبا تمام دستورات SQL رو میتونی تو دات نت بنویسی و اجرا کنی که یکی از اون ها همین تعریف کاربر جدید هست.

ostovarit
سه شنبه 08 تیر 1389, 20:21 عصر
منم مثل شما در این مورد تجربه زیادی نداشتم ... و سوالاتم رو در پستهای مختلفی پرسیدم و ظاهرا محدودیتی برای کار با دیتابیس در ویژال نیست ... الانم پروژم رو دارم با همون SQL وِیژال انجام میدم و تمامی نیازهام رو براورده کرده ... اما در باره یوزر که برای دیتابیس گفتی من این کارو نکردم و همون کانکشن استرینگی که بهم داد رو وارد کردم و یوزری برای کانکت شدن به دیتابیس تعریف نشده ... اگر شما برای این منظور راه حلی دارید ممنون میشم بگید که برای وصل شدن به دیتابیس سوزر و رمز بخواد؟

razavi_university
چهارشنبه 09 تیر 1389, 08:05 صبح
1- اصولا بايد در هر كدوم از اين كارها از كدوم (SQl Server يا Visual Studio ) استفاده كرد ؟
2- چه مزاياي دارد كه تو اين كارها از SQL Server استفاده كرد ؟ و آيا قابليت فراخواني هر كدوم در Visual Studio تعبيه شده است ؟
3- آيا در Visual Studio ميتونيم User ايجادكنيم و سطح دسترسي براش مشخص كنيم ؟( يا اينكه در SQL Server بايد User را درست كنيم و فقط تو Visual Studio فراخوانيش كنيم .)

1- بهتره کارهای اصلی را در خود آن برنامه انجام دهید، هرچند ارتباط تنگاتنگی با هم دارند(مثلا مسلما استفاده از SP ها نوشته شده در SQLServer و فراخوانی انها در VS به کارایی برنامه بسیار کمک می نماید)
2- تا جایی که می دونم اکثر کارهای معمول SQLServer را می توان به کمک Querry و استفاده از کتابخانه های SQLManagement انجام داد، ولی محیط Management Studio بسیار راحتتر است و همچنین در برخی مواقع سرباز اضافی ارتباط بین دوبرنامه را به سیستم اعمال نمی کنید.
خطایابی و توسعه کاری که میخواهید انجام دهید در محیط Management Studio بسیار ساده تر از خطا یابی همان کار در VS است.(منظر کاری است که به SQLServer مربوط است)
3- بله میتونین اگر برنامه تون چند لایه و اصولی نوشته شده باشه، در SQL هم میتوونین (بستگی به برنامه تون داره)

موفق باشید

raziee
چهارشنبه 09 تیر 1389, 10:14 صبح
من فکر میکنم که در کل، اینکه کدوم پردازش ها رو به بانک بدیم و کدوم رو به برنامه، در هر پروژه متفاوت و وظیفه طراح سیستم هست.
با توجه به منابع باید برنامه ریزی کرد.
مثلا من میبینم که یک SQL Server Standard edition دارم خوب چون هم RAM کل سیستم رو ساپورت میکنه و هم کاربرای زیادی رو میام حجم زیادی از پردازش رو میزارم رو SQL.
حالا اگه من از SQL Server Express Edition و یا Home Group Edition استفاده کنم که هر کدوم یک مقدار RAM و یک تعداد User رو پشتیبانی میکنند برنامه ریزی میکنم که پردازش کمتری رو بدم به SQL.

حالا در حالتی که از منابع خوب استفادده میکنم در صورتی که امنیت زیاد برام مهم باشه در هر دو سطح پیاده سازی میکنم.
یعنی هم در SQL کاربرایی با دسترسی متفاوت ایجاد میکنم و هم در سطح UI اونها رو کنترل میکنم.
و...............

بستگی به شما و پروژه داره.

majid325
چهارشنبه 09 تیر 1389, 13:22 عصر
بستگی به معماری سیستم هم داره، مثلا تو سیستم های توزیع شده وظایف بر روی سرور های مختلف تقسیم میشن.
ولی در جواب سوال شما باید به 1 نکته توجه داشته باشین :
1- دید شما در سمت sql به صورت Relational هست و در سمت app به صورت OOP هست پس مواردی که ماهیت Relational دارد در سمت RDBMS باید باشد و مواردی که ماهیت OOP دارد باید در سمت VS بهش پرداخت شود.

odiseh
دوشنبه 14 تیر 1389, 14:47 عصر
اگر من درست منظور شما رو متوجه شده باشم، شما بين استفاده از VS و Management Studio در ُSQL Server مردد هستيد.

ببينيد درسته كه در VS از طريق پنجره مربوط به Server Explorer مي تونيد به طور مثال SP ايجاد كنيد ، يا تغييري در ساختار Table ها بديد و ..... اما اون پنجره فقط و فقط براي سهولت كار Developer هستش و نبايد باعث بشه كه از محيط اصلي كه SQL Server هست،‌ غفلت كنيم.

ضمن اينكه در متن تاپيك شما مواردي عنوان شده كه بيشتر حاوي دستورات DDL هستش. از اونجاييكه دستورات DDL هم مثل دستورات DML داراي يك سري قوانيني و syntax هايي در T-SQL هستند پس اونا رو هم مي تونيد در يك برنامه انجام بديد و هم از محيط SQL Server كمك بگيريد.


اميدوارم كه اين متن به رفع سوال شما كمكي كرده باشه.