توسعه یک روش هوشمند خوشهبندی چندمعیاره مبتنی بر پرامتی
1 استادیار مدیریت صنعتی، واحد الکترونیکی، دانشگاه آزاد اسلامی، تهران، ایران.
2 استادیار مدیریت صنعتی، واحد رشت، دانشگاه آزاد اسلامی، رشت، ایران.
3 کارشناسی ارشد مدیریت صنعتی، واحد الکترونیکی، دانشگاه آزاد اسلامی، تهران، ایران.
چکیده
در سالهای اخیر مسئله جدیدی با عنوان «خوشهبندی چندمعیاره» ظهور کرده که هدف آن، دستهبندی گزینهها در گروههای همگنی به نام خوشه با توجه به معیارهای ارزیابی متفاوت است. در ادامه پژوهشهای انجامگرفته در مبانی نظری، پژوهش حاضر با ترکیب الگوریتم K- میانگین و تکنیک پرامتی، بهدنبال توسعه یک روش جدید خوشهبندی چندمعیاره است. پارامترهای مسئله، پروفایلهای جداکننده خوشهها هستند که برای بهینهسازی آنها از الگوریتم ژنتیک استفاده شده است. برای تنظیم پارامترهای ژنتیک نیز از روش تاگوچی استفاده میشود. در این مدلسازی، متغیرها در هر مرحله از بهروزرسانی جوابها، با توجه به فاصله امتیاز جریان خالص خود از پروفایلها به نزدیکترین خوشه تخصیص مییابند. عملگر جهش نیز صرفاً زمانی اعمال میشود که میزان شباهت کروموزومها در هر جمعیت به حد خاصی برسد که این هوشمندسازی موجب کاهش زمان محاسباتی شده است. درنهایت با اجرای روش پیشنهادی بر روی چند نمونه مسائل تصادفی مالی، عملکرد آن با سایر الگوریتمهای شناختهشده خوشهبندی مقایسه شده است. نتایج نشان میدهد که روش پیشنهادی ضمن تعیین تعداد بهینه خوشهها، در مقایسه با سایر الگوریتمها، جوابهای دقیقتری ارائه میدهد.
کلیدواژهها
عنوان مقاله [English]
Developing an Intelligent Multi Criteria Clustering Method Based on PROMETHEE
نویسندگان [English]
- Amir Daneshvar 1
- Mahdi Homayounfar 2
- Ania Farahmandnejad 3
1 Assistant Professor in Industrial Management, Electronic Branch, Islamic Azad University, Tehran, Iran.
2 Assistant Professor in Industrial Management, Rasht Branch, Islamic Azad University, Rasht, Iran.
3 M.A. in Management of Information Technology, Electronic Branch, Islamic Azad University, Tehran, Iran.
چکیده [English]
In recent years, a new issue called "multi-criteria clustering" has emerged that aims at grouping alternatives into homogeneous classes called clusters according to different evaluation criteria. Following the related studies in literature, by combining K-means algorithm and PROMETHEE technique, this paper aims to present a new multi-criteria clustering method. The parameters of the problem are the cluster separator profiles which genetic algorithm (GA) is used to optimize them. In the modeling process in each stage of updating responses, alternatives allocate to the nearest cluster according to the distance of their pure flow of privileges from the profiles. The mutation operator is only applied when the chromosomes’ similarity level in each population reaches to a certain level which this intelligence reduces the computation time. Finally, by simulating the proposed algorithm and some well-known clustering algorithms based on the several financial databases the efficiency of the algorithm compared to other algorithms. The results show the algorithm, in addition to determine the optimal number of clusters in comparison to other algorithms, also provides better results.
کلیدواژهها [English]
- Multi-Criteria Clustering
- Genetic Algorithm
- K-Means Algorithm
- Silhouette Index
- PROMETHEE
مراجع
1. Ahmadzadehgoli, N., Behzadi, M. H., & Mohammadpour, A. (2018). Clustering with Intelligent Linex K-means. New Researches in Mathematics, 14, 5-14 (In Persian).
2. Aliheidari Bioki, T., & Khademi Zare, H. (2015). Improvement of DEA approach for clustering credit rating of customer in banks. Modeling in Engineering, 41, 59-74 (In Persian).
3. Alizadeh A, & Pooya A. (2017). Evaluating and clustering the Iranian banks and financial institutions based on website traffic indicators. Organizational Resource Management Researches, 7(1), 189-206 (In Persian).
4. Almeida, A. T., & Vetschera, R. (2012) A PROMETHEE-based approach to portfolio selection problems. Computers & Operations Research, 39(5), 1010-1020.
5. Asgharizadeh, E. A., Bitaraf, A., & Ajeli, M. (2011). Developing a hybrid model using fuzzy PROMETHEE and multi-objective linear planning for outsourcing of warranty services, Industrial Management Perspective, 2(2), 43-60 (In Persian).
6. Azizi, S., & Balaghi Inanlou, M. H., (2016). Segmentation of Mobile Banking Users Based on Expectations: A Clustering Technique. Production and Operations Management, 7(2), 217-234 (In Persian).
7. Baroudi, R., Safia, N.B. (2010). Towards multicriteria analysis: a new clustering
approach, in: Proceedings of the 2010 International Conference on Machine
and Web Intelligence, pp. 126–131.
8. Brans, J. P., & Mareschal, B. (2005). PROMETHEE methods. In Multiple criteria decision analysis: state of the art surveys. (163-186). New York, New York: Springer.
9. Brans, J. P., & Vincke, P. (1985). PROMETHEE method for multiple criteria decision making. Management Science, 31, 647-656.
10. Capó, M., Pérez, A., & Lozano, J. A. (2017). An efficient approximation to the K-means clustering for massive data. Knowledge-Based Systems, 117, 56-69.
11. Cavalcante, C. A. V., Ferreira, R. J. P., & de Almeida, A. T. (2010). A preventive maintenance decision model based on multi-criteria method PROMETHEE II integrated with Bayesian approach. IMA Journal of Management Mathematics, 21(4), 333-348.
12. Costa, C. B., De Corte, J. M. & Vansnick, J. C. (2005). On the mathematical foundations of MACBETH, in Multiple Criteria Decision Analysis: state of the art surveys, Springer, 78, 409-437.
13. De Smet, Y. (2013). P2CLUST: An extension of PROMETHEE II for multi-criteria ordered clustering. (2013). IEEE International Conference on Industrial Engineering and Engineering Management. Bangkok, Thailand.
14. De Smet, Y., & Guzmán, L. M. (2004). Toward multi-criteria clustering: An extension of the k-means algorithm. European Journal of Operational Research, 158(2), 390-398.
15. De Smet, Y., Nemery, P., & Selvaraj, R. (2012). An exact algorithm for the multi-criteria ordered clustering problem. Omega, 40(6), 861-869.
16. Dyer, J. S. (2005). Multi-Attribute Utility Theory (MAUT). In Multiple Criteria Decision Analysis: State of the Art.(265-292). New York, New York: Springer.
17. Faezi-Rad, M. A., & Pooya, A., (2016). Clustering of Online Stores from Supplier’s point of view: Using Clusters Number Optimization in Two-Level SOM. Industrial Management Studies, 34, 905-943 (In Persian).
18. Fernandez, E., Navarro, J., & Bernal, S. (2010). Handling multicriteria preferences in cluster analysis, European Journal of Operational Research, 202(3), 819–827.
19. Figueira, J., Mousseau, V., & Roy, B. (2005). ELECTRE Methods. Multiple Criteria Decision Analysis: State of the Art Surveys. In Multiple Criteria Decision Analysis: State of the Art.(133-153). New York, New York: Springer.
20. Ghorbanpour A, Tallai G, & Panahi M. (2015). Clustering Customers of Refah Bank Branches Using Combination of Genetic Algorithm and C- Means in Fuzzy Environment. Organizational Resources Management Researches, 5(3), 153-168 (In Persian).
21. Hamedi, P., Khadivar, A., & Razmi, Z. (2013). Customer clustering for appointing rebating strategies, case study: Kadbano Co. New Marketing Research, 3(3), 135-150 (In Persian).
22. Han, J., Kamber, M., & Pei, J., (2011). Data Mining: Concepts and Techniques. 3 rd edition, Morgan Kaufmann.
23. Holland, J. H. (1975). Adaptation in natural and artificial systems: an introductory analysis with applications to biology, control and artificial intelligence. U Michigan Press.
24. Imani, A., & Abbasi, M. (2017). Customers Clustering Based on RFM Model by Using Fuzzy C-means Algorithm (Case Study: Zahedan City Refah Chain Store). Public Management Researches, 37, 251-276 (In Persian).
25. Islam, M. Z., Estivill-Castro, V., & Rahman, M. A., Bossomaier, T. (2018). Combining K-Means and a genetic algorithm through a novel arrangement of genetic operators for high quality clustering, Expert Systems with Applications, 91, 402-417.
26. Jafarnejad, A., Mohseni, M., & Abdollahi, A. (2014). Developing a hybrid fuzzy PROMETHEE-AHP approach for performance evaluation of the service supply chain (Case Study: Hospitality Industry), Industrial Management Perspective, 4(2), (In Persian).
27. Keshavarz Hadadha, A., Jalili Bal, Z., & Haji Yakhcha, S. (2018). Multi Criteria Decision Making Techniques and Knapsack Approach for Clustering, Evaluating and Selecting Projects. Industrial Management Studies, 50, 229-255 (In Persian).
29. Khadivar, A., & Mojibian, F. (2018). Workshops Clustering Using a Combination Approach of Data Mining and MCDM. Modern Researches in Decision Making, 3(2), 107-128 (In Persian).
30. Krink, T., Paterlini, S., & Resti, A. (2007). Using differential evolution to improve the accuracy of bank rating systems. Computational Statistics & Data Analysis, 52(1), 68-87.
31. Kumar, S., (2018). Optimal cluster analysis using hybrid K-Means and Ant Lion Optimizer. Karbala International Journal of Modern Science (In press).
32. Lai, R. K., Fan, C. Y., Huang, W. H., & Chang, P. C. (2018). Evolving and clustering fuzzy decision tree for financial time series data forecasting. Expert Systems with Applications, 36 (2), 3761-3773.
33. Liao, S. H., Ho, H. H., & Lin, H. W. (2008). Mining stock category association and cluster on Taiwan stock market. Expert Systems with Applications, 35(1), 19-28.
34. Meyer, P., & Olteanu, A. L. (2013). Formalizing and solving the problem of clustering in MCDA, European Journal of Operational Research, 227(3), 494-502.
36. Nabiloo, M., & Daneshpour, N. (2017). A clustering algorithm for categorical data with combining measures. Soft Computing Journal, 5(1), 14-25 (In Persian).
37. Olson, D., & Zoubi, A. T. (2008). Using accounting ratios to distinguish between Islamic and conventional banks in the GCC region. The International Journal of Accounting, 43(1), 45-65.
38. Omidi, M., Razavi, H., & Mahpeykar, M. R. (2011). Selection of project team members based on the effectiveness criteria and PROMETHEE method, Industrial Management Perspective, 2(1), 113-134 (In Persian).
39. Rocha, C., Dias, L. C., & Dimas, I. (2013). Multi-criteria classification with unknown categories: A clustering-sorting approach and an application to conflict management. Journal of Multi-Criteria Decision Analysis, 20, 13-27.
40. Saaty, T. L. (2005). The analytic hierarchy and analytic network processes for the measurement of intangible criteria and for decision-making. Multiple Criteria Decision Analysis: State of the Art Surveys. In Multiple Criteria Decision Analysis: State of the Art.(345-405). New York, New York; Springer.
41. Sarrazin, R., De Smet, Y., & Rosenfeld, J. (2018). An extension of PROMETHEE to interval clustering. Omega, 80, 12-21.
42. Seifoddini, H., & Wolfe, P. M. (1986). Application of the similarity coefficient method in group technology. IIE Transactions, 18(3), 271–277.
43. Silva, V. B., Morais, D. C., & Almeida, A. T. (2010). A multi-criteria group decision model to support watershed committees in Brazil. Water Resources Management, 24(14), 4075-4091.
44. Yaghini, M., & Vard, M. (2012). Automatic Clustering of Mixed Data Using Genetic Algorithm. Industrial Engineering & Production Management, 23(2), 187-197 (In Persian).
45. Yang, F., Sun, T., & Zhang, C., (2009). An efficient hybrid data clustering method based on K-harmonic means and Particle Swarm Optimization. Expert Systems with Applications, 36(9), 847-852 (In Persian).
46. Yu, S. S., Chu, S. W., Wang, C. M., Chan, Y. K., & Chang, T. C. (2017). Two improved k-means algorithms. Applied Soft Computing, 68, 747-755.
47. Zare Ahmadabadi, H., Rafiei Omam, M., & Naser Sadr Abadi, A. (2016). Market Clustering with Ant Colony Optimization (Comparative approach with k-means). Business Administration research, 16, 17-36 (In Persian).
48. Zhai, J., Cao, Y., Yao, Y., Ding, X., & Li, Y. (2017). Coarse and fine identification of collusive clique in financial market. Expert Systems with Applications, 69, 225-238.
49. Zhang, Y., Wang, C. D., Huang, D., Zheng, W. S., & Zhou, Y. R., (2018). TW-Co-k-means: Two-level weighted collaborative k-means for multi-view clustering. Knowledge-Based Systems, 150, 127-138.
50. Zhao, Y., Ming, Y., Liu, X., Zhu, E., Zhao, K., & Yin, J. (2018). Large-scale k-means clustering via variance reduction. Neuro-computing, 307, 184-194.
تشکیل سبد سرمایه گذاری بهینه در بورس اوراق بهادار تهران با استفاده از روشهای خوشهبندی سلسله مراتبی و تفکیکی
نیاز برای دستیابی به معیارهای درست بهینه سازی پرتفو که علاوه بر دقت به سرعت در تصمیم گیریهای سرمایهگذاری بیانجامد، امری فراتر از نیازهای آکادمیک است چرا که نیاز سرمایهگذاران، شرکتهای سرمایهگذاری و مدیران سرمایهگذاری، به کاهش زیانهای ناشی از سرمایه گذاری، افزایش بازده متناسب با ریسک همواره مورد بحث بوده است. با این وجود دستیابی به روشی جهت بهینه سازی پرتفو به گونهای که شکاف بین نیازهای کاربردی و مدلهای تئوریک را پر کند کار بسیار دشواری است. با توجه به اینکه یکی از مهمترین عوامل موثر در کسب بازدهی مطلوب، متنوعسازی است. این تحقیق با موضوع «تشکیل سبد سرمایهگذاری بهینه در بورس اوراق بهادار تهران با استفاده از روشهای خوشهبندی سلسله مراتبی و تفکیکی»، سعی دارد با استفاده از دادههای بازار و خوشهبندی آن، روشی مناسب جهت بهینهسازی پرتفو ارائه کند. نتیجه این مقایسه میزان موفقیت بهینهسازی بر اساس خوشهبندی را نسبت به پرتفوی شاخصی روشن خواهد کرد.
کلیدواژهها
عنوان مقاله [English]
Portfolio Optimization Using Hierarchical and Denotation Clustering in Tehran Stock Exchange.
نویسندگان [English]
- mojtaba mirlohi 1
- nima mohammadi Todeshki 2
The need to achieve optimal portfolio optimization criteria, which, in addition to the accuracy of investment decisions quickly, goes beyond academic needs, as investors, investment companies and investment managers need to reduce their investment losses, increase Risk-adjusted returns have always been discussed. However, it is very difficult to achieve a portfolio optimization method that fills the gap between applied requirements and theoretical models. Considering that one of the most important factors in achieving optimal returns is diversification. This research, with the theme of "Formation of optimal investment portfolio in Tehran Stock Exchange using hierarchical and K-means clustering methods", attempts to present a suitable method for portfolio optimization using market data and clustering. The result of this comparison will clarify the success rate of cluster optimization compared to the index portfolio.
کلیدواژهها [English]
- Portfolio
- Optimization
- Hierarchical
- Denotation
- Clustering
مراجع
- احمدپور، ا. و دیگران، (1388).«استفاده از مدلهای تصمیمگیری چند شاخصهای در انتخاب سهام(شرکتهای دارویی پذیرفته شده در بورس اوراق بهادار تهران)»، فصلنامه بورس و اوراق بهادار تهران، سال 2، شماره 5.
- اسلامیبیدگلی غلامرضا، هیبتی فرشاد، رهنمای رودپشتی فریدون،(1388)، «تجزیه و تحلیل سرمایهگذاری و مدیریت سبد اوراق بهادار» چاپ سوم، تهران: انتشارات پژوهشکده امور اقتصادی، ترجمه کتاب: Investment Analysis & Portfolio Management تألیف Frank k. reilly/Keith.C.Brown
- افشارکاظمی، محمدعلی، فلاح شمس، میرفیض، کارگز، مرضیه، (1392).«تدوین مدلی جدید برای بهینهسازی پرتفوی بورس با استفاده از روش مارکویتز و اصلاح آن توسط مدل کسینوسها و حل آن توسط الگوریتم ژنتیک»،مجله مهندسی مالی و مدیریت اوراق بهادار، شماره هجدهم، بهار 1393.
- امیری،م. و دیگران،(1381).«کاربرد مدل فرآیند تحلیل سلسلهمراتبی در تعیین معیارهای موثر بر انتخاب سهام در بورس اوراق بهادار تهران»، مجله برنامه و بودجه، شماره 77.
- انواری رستمی، علی اصغر و محسن ختن لو(1385).« بررسی مقایسه ای رتبه بندی شرکتهای برتر بر اساس نسبتهای سودآوری و شاخصهای بورس اوراق بهادار تهران»، بررسیهای حسابداری و حسابرسی، ش 43، صص 25-43.
- پهلوان، آریا، رمضانپور، اسماعیل، قلیزاده، محمدحسن(1391).« اولویتبندی عوامل موثر بر انتخاب سهام در بورس اوراق بهادار تهران با استفاده از فرآیند تحلیل شبکهای فازی»، سومین کنفرانس ریاضیات مالی و کاربردها.
- تهرانی، رضا و سعید باجلان. (1388).« بررسی رابطه بین ویژگیهای شرکت و موفقیت مال»، پژوهشنامه مدیریت اجرایی، ش1، صص 13-18.
- ثابتی، صالح، الهام(1388).« ارائه مدل تصمیم گیری چندمعیاره فازی برای رتبه بندی شرکتهای متقاضی تامین مالی بانکها(مطالعه موردی: پنجاه شرکت برتر بورس اوراق بهادار تهران». مجموعه مقالات دومین کنفرانس بین المللی توسعه نظام تامین مالی در ایران، صص1-18.
- خدامرادی، سعید، ترابی گودرزی، محمد و راعی عزآبادی، محمدابراهیم،(روش ایندکس گذاری clustered 1392).« رویکرد دو مرحله ریاضی در بهینهسازی سبد سهام». مجله مهندسی مالی و مدیریت پرتفوی.
- سپهر، ریحانه، محمدحسن مرادی، غنچه مشایخی، لاله کاردر و عطیه بامدادیان.(1386).«بررسی و مقایسه روشهای مختلف خوشه بندی فازی تفکیکی مبتنی بر روش استاندارد خوشه بندی فازی FCM»، مجموعه مقالات هفتمین کنفرانس سیستمهای فازی، دانشگاه فردوسی مشهد، صص1-5.
- طالبی، آرش،(1389) پایاننامه کارشناسی ارشد«انتخاب و بهینهسازی سبد سهام با استفاده از روشهای فرا ابتکاری و مقایسهی آن با سبدهای تشکیلی خبرگان و تازهکارها در بازار بورس اوراق بهاهدار روش ایندکس گذاری clustered تهران»، دانشکده مدیریت دانشگاه صنعتی شاهرود.
- عسگریان، احسان، حسین معینزاده، محسن سریانی و جعفر حبیبی.(1386).«رویکرد جدید برای خوشهبندی فازی به وسیله الگوریتم ژنتیک»، مجموعه مقالات سیزدهمین کنفرانس ملی انجمن کامپیوتر ایران، صص 1-3.
- فرید داریوش، پورحمیدی، مسعودی،(1391).«بخشبندی سهام شرکتهای پذیرفته شده در بورس اوراق بهادار تهران با استفاده از تحلیل خوشهای فازی»، مجله پژوهشهای حسابداری مالی، سال چهارم، شماره سوم، شماره پیاپی(13)، صص 12-105.
- فروغی، داریوش، مظاهری، اسماعیل،(1389)،« توانایی سود و جریانهای نقدی عملیاتی در توضیح ارزش ذاتی تحقق یافته سهام شرکتهای پذیرفته شده در بورس اوراق بهادار تهران»، دو فصلنامه پژوهشهای حسابداری مالی،شماره1-2.
- قائمی، محمدحسین و سعید طوسی.(1384).«بررسی عومل موثر بر بازده سهام عادی شرکتهای پذیرفته شده در بورس اوراق بهادار تهران». پیام مدیریت،ش17 و 18، صص 6-9.
- کیانی، مائده، نبوی، سیدعلی،معماریان، عرفان،(1393).«بهینهسازی سبد سهام بر اساس حداقل سطح پذیرش ریسک کل و اجزای آن با استفاده از روش الگوریتم ژنتیک».فصلنامه علمیپژوهشی دانش سرمایهگذاری، سال سوم، شماره یازدهم.
- Alexander S, Coleman T F, Li Y. 2006. Minimizing cvar and var for portfolio of derivatives. Journal of Banking and Finance, 30(2):pp.538-605.
- A. R. Webb, Statistical Pattern Recognition, John Wiley & Sons,2003
- Basalto, N., Bellotti, R., De Carlo, F., Facchi, P., & Pascazio, S. (2005). Clustering stock market companies via chaotic map synchronization, Physica A, 345 (1-2), 196–206.
- Beckwith, j., Stock Selection in Six Major Non –U.S. Markets. Journal of Investing. 7 (8), 29-44, 8001
- Bertsimas Dimitris, Christopher Darnell and Robert Soucy, (1999) “Portfolio construction Through Mixed-Integer Programming at Grantham, Mayo, Van,Otterloo and Company”, ProQuest Science Journals, Interfaces 29 , pp
- Chen Y, Mabu SH, HirasawaK. 2011. Genetic relation algorithm whit guided mution for the large – scale portfolio optimization” Expert System Whit Applications ,An International journal , pp.3353-3363.
- Chi, Z., Yan, H., & Pham, T. (1996). Fuzzy algorithms: with applications to image processing and pattern recognition. Singapore: World Scientific Publishing Co. Pte. Ltd.
- D’Ursoa, P., & Giordani, P. (2006). A weighted fuzzy c-means clustering model for fuzzy data. Computational Statistics & Data Analysis, 50 (6), 1496 – 1523.
- Dobbins, Richard.; Witt. Stephen, F. & Fielding, John. (1994). Portfolio Theory and Investment Management. (2 nd ed). Massachusetts: Blackwell Publishers.
- Doherty, K. A. J., Adams, R. G., Davey, N., & Pensuwon, W. (2005). Hierarchical Topological Clustering Learns Stock Market Sectors, ICSC Congress on Computational Intelligence Methods and Applications (pp. 1-6), Istanbul.
- Edirisinghe, NCP & X Zhang, Portfolio selection under DEA-based relative financial strength indicators: case of US industries, Journal of the Operational Research Society, 57, 8002.
- Elton, J.; Edwin & Grubr, J.; Martin. (1995). Simple Criteria for Optimal Portfolio Selection, Journal of Finance, 31 (5). 1341-1357.
- Fan Cai, Nhien-An Le-Khac, M-Tahar K e chadi ,(2016). Clustering Approaches for Financial Data Analysis: a Survey,School of Computer Science & Informatics, University College Dublin, Ireland
- Faugère, C., Shawky, H. A., & Smith, D. M. (2005). Characterizing value and growth investing in institutional portfolios. Retrieved from University at Albany : http://www.albany.edu/~faugere/
- Grupe, F.H. & Jooste, S. (2004) Genetic Algorithms: A Business Perspective; Information Management & Computer Security, Vol. 12,o. 3, 289-298
- Guneri A.F. et al, A fuzzy approach to shipyard location selection, Expert Systems and Applications, 26, 9778-9777, 8007.
- J. Valente de Oliveira, J., & Pedrycz, W. (2007). Advances in fuzzy clustering and its applications. Chichester: John Wiley & Sons Ltd.
- Janani and et al., Selection of Portfolio by using Multi Attributed Decision Making (Tehran Stock Exchange), American Journal of Scientific Research, Issue 44, pp. 15-87, 8018
- Jose Figueira, Salvatore Greco and Matthias Ehrgott, MULTIPLE CRITERIA DECISION ANALYSIS: STATE OF THE ART SURVEYS, Springer, 8005
- Kalyani, S., & Swarup, K. S. (2010). Supervised fuzzy c-means clustering technique for security assessment and classification in power systems. International Journal of Engineering, Science and Technology , 2 (3), 175-185
- Konno H,Y amazaki H. 1991. Mean-absolute deviation portfolio optimization model and its applications to tokyo stock market. Management Science, 37(5):pp.519-531.
- Levy H, Sarnat M. 1984. Portfolio and investment Selection, Prentice Hall.
- Lhabitant, F. S. (2003). Evaluating hedge fund investments: the role of pure style indices. Retrieved from EDHEC-Risk Institute: http://www.edhec-risk.com/edhec_publications/RISKReview1083060929573713739/attachments/Barry%20HF%20VaR1%2009.02.04.pdf
- Li, Jun, Jiuping Xu (2009) “A novel portfolio selection model in a hybrid uncertain environment”,omega the International Journal of Management Science,
- Linsmeier T J, Pearson N D. 2000. Value at risk, Financial Analysts Journal,56(2):pp47-67.
- LN,L,Cao,L And Zhang,c,(2007),Genetec A lgorithm for Optimization in Financial Applications,University Of Sydney ,Australia.
- Markowitz H, 1952. Portfolio selection. Journal of Finance. 7: 77-91.
- Markowitz H. 1991. Foundations of portfolio theory. Journal of Finance, 46(2):pp.469-477
- Mitchel, M. (1999) An Introduction to Genetic Algorithms. Pacheco ,M,Vell asco,M, and lopez,c,(2006)cash flow planning AnD Optimization Through Genetic Algorithm Pontificia university,Brazill
- Morris, V. B., & Morris, K. M. (2007). Standard & Poor's dictionary of financial terms. New York: Lightbulb Press.
- Nanda, S.R., Mahanty, B., Tiwari, M.K. (2010). Clustering Indian stock market data for portfolio management. Expert Systems with Applications, 37 (12), 8793–8798.
- Nikoomaram H, Hemmati H, 2012. Network Model based on Sharp and Trainer Ratio Analytical Power Evaluation to Benchmark the performance of Selected Portfolio. Investment Knowledge Research and Science Quarterly. 1: 125-146.
- Ostermark R, 1996. A fuzzy control model (FCM) for dynamic portfolio management. Fuzzy Sets and Systems. 78: 243-254.
- Rashidi, P., Analoui, M. (2007). Modified k-means algorithm for clustering stock market companies. 1st Iran Data Mining Conference (pp. 201-21), Tehran: Amir Kabir University.
- Reilly F. et al. Investment Analysis and Portfolio Selection, 6d, ed., 8002.
- ROBERT JOHNSON, LUC SOENEN, Indicators of Successful Companies, European Management Journal Vol. 81, No. 2, pp. 264–267, 8002.
- Shin, H. W., Sohn, S. Y. (2004). Segmentation of stock trading customers according to potential value. Expert Systems with Applications, 27 (1), 27–33.
- S quyres .J.G. A Quick Peek According to Graham and Dodd, Journal of Financial Statement Analysis, 92-72, fall, 1772.
- Standard & Poor’s (S&P) Shariah style indices: index methodology. (2009). Retrieved from Standard & Poor's Financial Services LLC: www.styleindices.standardandpoors.com
- Standard & Poor’s (S&P) U.S. style indices: index methodology. (2009). Retrieved from Standard & Poor's Financial Services LLC: www.styleindices.standardandpoors.com
- Szilágyi, L., Szilágyi, S. M., & Benyó, Z. (2010). Analytical and numerical evaluation of the suppressed fuzzy c-means algorithm: a study on the competition in c-means clustering models. Soft Computing , 14 (5), 495–505.
- Talebnia Gh, Fathi M, 2010. Comparative Evaluation Optimal Stock Portfolio Selection in Tehran Stock Exchange by Markowitz and Value-at-Risk Models. Financial Study Magazine. 6: 71-94.
- Topaloglou N, Vladimirou H, Zenios SA, 2008. A dynamic stochastic programming model روش ایندکس گذاری clustered for international portfolio management. European Journal of Operational Research. 185: 1501-1524.
- Valente de Oliveira, J., & Pedrycz, W. (2007). Advances in fuzzy clustering and its applications. Chichester: John Wiley & Sons Ltd.
- Veerabathiran R., et al, Application of the Extent Analysis Method on fuzzy AHP, International Journal of Engineering Science and technology, Vol. 4, No. 09, July 8018.
- Wang, X., Wang, Y., & Wang, L. (2004). Improving fuzzy c-means clustering based on feature-weight learning. Pattern Recognition Letters, 25 (2), 1123–1132.
- Wen-Shiung Lee, Combined MCDM techniques for exploring stock selection based on Gordon model, Expert Systems with Applications, 8002.
- Xia, Yusen.; Liu, Baoding., Wang, Shouyang. & Lai, K.K. (1999). A Model for Portfolio Selection with Order of Expected Returns, Computers & OperationsResearch, www.armaninvestment.com
- Young, M.R. (1998). A Minimax – Portfolio Selection Rule with Linear Programming Soulotion, Management Science, 44. 673-683.
محمدحسین فخرآوری
چه زمان از View استفاده می شود و چه زمان استفاده نمی شود
view یک جدول ذخیره شده است.
شما وقتی دستورات Select رو به صورت view مینویسی دستوراتی هستند که معمولا ثابت هستند. شما میتونی روی view یک clustered index بذاری و اونو با جداول دیگه join کنی و مانند یک جدول باهاش رفتار کنی. ولی این قابلیتها رو sp نداره. شما یک سری کار خاص درون sp قرار میدی و همیشه همون کارهارو انجام میده. نمیتونی در select اونو شرکت بدی. نمیتونی روش ایندکس بذاری.نمیتونی بایک جدول دیگه join کنی.
از مزیت های view این است که بعد از یک بار اجرا به صورت موقت در سرور ذخیره می شود و برای مراجعات بعدی از همان استفاده می شود و سرعت خیلی بالایی دارد.
1- برخورد Sql Server با view در هنگام خواندن دادها (select)دقیقا مانند یک جدول حقیقی می باشد. در همین جا یک مزیت بزرگ view آشکار می شود: می توان در مراحل پیاده سازی نرم افزار ساختار یک viewرا تغییر داد و ان را بهبود بخشید بدون آنکه رابط کاربر و کدهای user interface تغییر اساسی کنند.
2- تنها در مورد view هایی که با یک select ساده (بدون join) ساخته می شوند می توان انتظار داشت که دستورات Insert، Update و Delete به درستی عمل کنند. بدین معنا که برخورد Sql Server باViewدقیقا همانند یک جدول واقعی خواهد بود و دستورات DDL (Data Definition Language) و یا به عبارت ساده تر Insert، Update و Deleteعمل خواهند کرد.
View به خاطر کاربردش دارای دو لقب(یا اسم) هستش:
1) Saved Select
2) Virtual Table
اولی به این دلیله که شما یک Query طولانی رو تحت عنوان یک اسم ذخیره میکنین، و برای بدست آوردن نتیجه اون View، نیازی ندارین دوباره اون Query رو بنویسین.
متد های رمزنگاری و راه های امنیت
سلسه مراتب رمزنگاری شامل سه سطح رمزنگاری می شود
1 سطح ویندوز(Windows Level): سطح بالا- از DP API ویندوز برای رمزنگاری استفاد می کند.
2 سطح SQL Server : سطح متوسط:از شاه کلید سرویس ( Service Master Key)، برای رمزنگاری استفاده می کند.
3 سطح بانک اطلاعاتی(Database Level): سطح پایین : از شاه کلید بانک اطلاعاتی برای رمزنگاری استفاده می کند.
کلید متقارن ( symmetric ) : در سیستم رمزگذاری متقارن فرستنده و گیرنده یک پیام یک کلید مشترک را بین خود به اشتراک می گذارند که از آن برای رمز کردن پیام و شکستن رمز استفاده می شود . این شیوه پیاده سازی نسبتا آسانی دارد و هردو فرستنده و گیرنده می توانند پیام را رمز گذاری ورمز گشایی کنند .
کلید نامتقارن ( Asymmetric ) : در این شیوه فرستنده و گیرنده یک جفت کلید عمومی و اختصاصی دارند که با استفاده از آنها رمزگذاری و رمزگشایی می کنند . این سیستم کمی پیچیده می باشد زیرا فرستنده می تواند از کلیدش استفاده کند پیام را رمز کند اما نمی تواند آن را رمز گشایی کند ، از طرف دیگر گیرنده می تواند با استفاده از کلیدش رمز گشایی کند اما نمی تواند رمز کند .
مثال ایجاد یک کلید متقارن
blog.iranhost.com/9226
certcc.ir/ serch = SQL SERVER
رمز نگاری یک ویژگی مهم امنیتی در SQL می باشد . کلید های بزرگتر و نامتقارن باعث ایجاد رمزنگاری غیرقابل حمله و قویتری می شوند که این خود باعث مصرف بیشتر CPU می شود . وفتی حجم زیادی از داده برای رمزنگاری وجود دارد ، توصیه می شود از کلید متقارن استفاده شود . از آنجایی که داده رمز شده نمی تواند فشرده ( Compress ) شود توصیه می شود قبل از رمز نگاری داده تا حد ممکن فشرده شود .
کلیدها و الگوریتمها
SQL Server چندین الگوریتم متفاوت رمزگذاری با استفاده از کلید متقارن را پشتیبانی میکند. از جمله این الگوریتمهای کلید متقارن میتوان به DES ، Triple DES ، RC2 ، RC4 ، 128-bit RC4 ، 128-bit AES و 256-bit AES اشاره کرد. قابل ذکر است که تمامی الگوریتمهای مذکور با استفاده از Windows Crypto API پیادهسازی میشوند.
- هرگز دستورات Transact-SQL را مستقیماً از ورودی کاربر نسازید؛ از روالهای ذخیره شده برای اعتبارسنجی ورودی کاربر استفاده کنید.
- ورودی کاربر را با بررسی نوع، طول، فرمت و محدوده آن اعتبارسنجی نمایید. از تابع QUOTENAME() برای خلاصی از نامهای سیستم یا از تابع REPLACE() برای خلاصی از هر کاراکتری در رشته استفاده کنید.
- چندین لایه اعتبارسنجی در هر بخش برنامه خود قرار دهید.
- اندازه و نوع دادهای ورودی را بررسی کنید و محدودیتهای لازم را اعمال نمایید. این کار میتواند به جلوگیری از سرریز بافر تعمدی کمک کند.
- محتویات متغیرهای رشتهای را بررسی کرده و فقط مقادیر مورد قبول را بپذیرید. از پذیرش ورودیهای حاوی دادههای باینری، فاصلههای متوالی و کاراکترهای کامنت خودداری کنید.
- هنگامیکه با اسناد XML کار میکنید، تمامی دادهها را در مورد schema ی آن اعتبارسنجی کنید.
- در محیطهای چندبخشی، تمامی دادهها باید پیش از پذیرش در محدوده مورد اعتماد، اعتبارسنجی گردند.
- رشتههای زیر را در فیلدهایی که نام فایلها از آن ساخته میشود نپذیرید: AUX ، CLOCK$ ، COM1 تا COM8 ، CON ، CONFIG$ ، LPT1 تا LPT8 ، NUL و PRN .
- از شیء SqlParameter به همراه روالهای ذخیره شده و دستورات برای بررسی و اعتبارسنجی نوع و طول استفاده کنید.
- از عبارات Regex در کد سمت کلاینت برای فیلتر کردن ورودیهای نامعتبر استفاده کنید.
مثالی از تابع بازگشتی
CREATE FUNCTION [dbo].[GetCategoryName](@CategoryID int)
RETURNS nvarchar(50)
AS
begin
declare @CategoryName nvarchar(50)
SELECT @CategoryName = CategoryName from B_Categories
WHERE CategoryID = @CategoryID
RETURN @CategoryName
end
select top 1 dbo.GetCategoryName(1) from B_Categories
select * from B_Categories where CategoryName= dbo.GetCategoryName(1)
CREATE FUNCTION GetTable1()
RETURNS @T1 TABLE
(CatName NVARCHAR(50),ForumsName NVARCHAR(50))
AS
BEGIN
INSERT INTO @T1(CatName,ForumsName)
SELECT Categories.CatName, Forums.ForumsName FROM Categories
RETURN;
END
راه های بهینه سازی کردن، و بهترین روش برای ذخیره تصاویر
- اگر عکس و یا سند شما به طور معمول زیر 256K ذخیره سازی آنها را در یک پایگاه داده ستون VARBINARY کارآمد تر است.
- اگر عکس و یا سند شما به طور معمول بیش از 1 مگابایت، ذخیره سازی آنها در سیستم فایل کارآمد تر است (با ویژگی FILESTREAM SQL سرور 2008)
انواع Index ها و بهترین حالت استفاده از آن
آشنایی با مفهوم Index در SQL Server: به طور خیلی ساده، ایندکس لیست مرتب شدهای از دادهها است که بر اساس منطقی خاص مانند عدد، رشته، تاریخ و … ایجاد شده است. هدف از ایجاد ایندکس افزایش سرعت جستجو برای بازیابی دادهها میباشد.
• Clustered Index: این نوع ایندکسها بر روی دادههای عادی مانند عدد، رشته، تاریخ و… ایجاد میشوند. زمانیکه یک Clustered Index بر روی یک جدول ایجاد میکنید ترتیب و چینش فیزیکی رکوردها بر اساس کلید ایندکس خواهد بود. بنابراین یک جدول صرفاً میتواند یک ایندکس از نوع Clustered داشته باشد.
• NonClustered Index: این نوع ایندکسها مانند Clustered Indexها بر روی دادههای عادی مانند عدد، رشته، تاریخ و… ایجاد میشوند. زمانیکه یک ایندکس از نوع NonClustered بر روی جدول ایجاد میکنید کلید ایندکس در فضایی دیگری جدای از فضای جدول مرتب شده و مورد استفاده قرار میگیرد. به طور کلی در SQL Server میتوان تا ۹۹۹ ایندکس از نوع NonClustered را ایجاد کرد.
• XML Index : این نوع ایندکسها بر روی دادههایی که در قالب ساختار XML هستند ایجاد میشود.
• Spatial Index : این نوع ایندکسها بر روی دادههایی که از نوع جغرافیایی هستند ایجاد میشود.
• Column Stored Index : نوع جدیدی از ایندکسها هستند که در SQL Server 2012 معرفی شدهاند که سرعت دسترسی به دادهها در آن بیش از سایر ایندکسها میباشد.
نکته مهمی که باید در ایجاد این نوع از ایندکسها در نظر گرفت این است که به دلیل افزایش Performance معمولاً در بیشتر مواقع این ایندکسها با توجه به کوئریهای شما ایجاد روش ایندکس گذاری clustered میگردند. بدین صورتکه
۱- لیست تمامی کوئریهای پر استفاده به ازای جدول مورد نظر را استخراج نمایید.
۲- کلیه فیلدهای مربوط به مرحله اول را استخراج نمایید.
۳- در صورتیکه فیلدهای استخراج شده در مرحله دوم جزء فیلدهای قابل شرکت در Column Stored Index باشند در ایندکس مورد نظر شرکت نمایند.
۴- در صورتیکه بخواهید Column Stored Index را به صورت ویژوالی در Management Studio ایجاد کافی است مراحل زیر را انجام دهید.
۱- همانند تصویر زیر پس از انتخاب جدول بر روی قسمت ایندکس کلیک راست کرده و پس از انتخاب گزینه New Index گزینه Non Clustered Column Stored Index را انتخاب کنید.
۲- همانطور که در پنجره New Index مشاهده میکنید نوع ایندکس شما Non Clustered Column Store بوده و با استفاده از دکمه Add به راحتی میتوانید فیلدهای مورد نظر را به ایندکس اضافه نمایید.
مقایسه روشهای تجمیع شاخصها برای ساخت شاخص ترکیبی توسعه منطقهای
اخیراً روشهای مختلف تجمیع شاخصها به طور گستردهای در ساخت شاخص ترکیبی توسعه منطقهای مورد استفاده قرار گرفتهاند. مشکلی که پژوهشگران با آن مواجه بودهاند تعیین کاربرد مناسبتترین روشها بوده است. بنابراین هدف تحقیق حاضر مقایسه روشهای تجمیع ساخت شاخص ترکیبی توسعه منطقهای است. معیارهای زیادی برای مقایسه روشهای تجمیع شاخصها در ساخت شاخص ترکیبی وجود دارد. در این تحقیق، بر مبنای معیار از دست رفتن اطلاعات شاخص اسپیرمن شانون و ضریب همبستگی اسپیرمن و ضریب تغییرات برای مقایسه روشهای بدیل تجمیع در ساخت شاخص ترکیبی مورد استفاده قرار گرفت. با استفاده از معیارها گفته شده، پنج روش مرسوم در ساخت شاخص ترکیبی (میانگین وزنی ساده، تاپسیس، مولفه اصلی اصلاح شده، تاکسونومی و انحراف از مقدار بهینه اصلاح شده) از طریق یک مطالعه تجربی بر مبنای اطلاعات 17 شاخص توسعه اقتصادی در 31 استان ایران ارزیابی و مقایسه شدند. نتایج نشان داد که روشهای مختلف تجمیع شاخصها شاخصهای ترکیبی مختلفی و همچنین رتبهبندی متفاوتی را ایجاد میکنند. با وجود این استانهای تهران، خوزستان، اصفهان و خراسان رضوی در بیشتر روشها عملکرد بهتری در توسعه اقتصادی داشتند. به علاوه استانهای خراسان جنوبی و شمالی، سیستان و بلوچستان، لرستان، اردبیل و چهار محال بختیاری نیز در بیشتر روشها در رتبههای پایین قرار گرفتند. نتایج محاسبه شاخص اسپیرمن-شانون نشان داد که روش تاپسیس کمترین مقدار و روشهای تاکسونومی و انحراف از مقدار بهینه اصلاحی بیشتری مقدار این شاخص را دارا هستند. این موضوع بیانگر این است که روش تاپسیس با توجه به معیار از رفتن اطلاعات مناسبترین روش است. بر عکس دو روش تاکسونومی و انحراف از مقدار بهینه اصلاحی به علت اینکه نتایج آنها منجر به از رفتن اطلاعات زیادی میشود، انتخابهای خوبی نیستند. همچنین نتایج نشان داد که به استثنای روش تاپسیس، سایر روشها همبستگی بالایی با همدیگر دارند که این موضوع بیانگر این است که روشهای مختلف مکمل همدیگر هستند.
کلیدواژهها
- تجمیع شاخصها
- توسعه منطقهای
- روشهای تحلیل چند شاخصه
- شاخصهای توسعه
عنوان مقاله [English]
Comparing aggregating methods for constructing the composite index of regional development
نویسندگان [English]
- B. Tarahomi
- M. Sharifzadeh
- Gh. Abdollahzadeh
  Extended
abstract Introduction A composite indicator refers to an index
derived from some specific individual indicators for measuring the aggregated
performance of a multi-dimensional issue. A major problem for constructing the composite
indicator of development is the determination of an appropriate aggregating
method to combine multi-dimensional development indicators into an overall
index. Therefore, strongly, the usefulness of a composite indicator depends
heavily on the underlying construction scheme. Â Construction on a composite indicator involves
the definition of study scope, selection of underlying variables, data
collection and preprocessing, data weighting and aggregation, and post analysis
of the composite indicator derived, among which data weighting and aggregation
has been an interesting but controversial topic (Esty et al. 2005). At the
stage of data (weighting and) aggregation, there are two major families of
operations research methods, namely data envelopment analysis (DEA) and
multiple criteria decision analysis (MCDA), which have recently received much
attention in composite indicator construction (Zhou and Ang 2008). While there are a large number of alternative
methods for constructing composite indicator,
none could be regarded as a âsuper methodâ
suitable for all cases. As a result, researchers
have developed a large number of criteria, such as theoretical foundation, understandability, ease of use and validity, which are helpful to
analysts for the selection of an
appropriate method for constructing composite indicator. Zhou et al. (2006)
introduced a novel criterion
ââinformation lossââ and developed an objective measure called the
Shannon-Spearman measure (SSM) for comparing aggregation methods in
constructing composite indicator. This research investigates the effectiveness of the Shannon-Spearman
measure (Zhou and Ang, 2009) and compares several popular methods in
constructing composite indicator.  Methodology This research aimed to
compare aggregating methods for constructing the composite index of regional
development. There are many criteria for comparing aggregating methods of composite indicator. Based on the information loss concept this research
was used the Shannon-Spearman measure (SSM), Spearman correlation coefficient
and روش ایندکس گذاری clustered Coefficient of Variation (CV) to compare alternative aggregation methods in
constructing composite
indicator. Using the proposed measure,
five popular methods in constructing composite indicator (SAW, TOPSIS, revised PCA, Taxonomy and revised
Optimum Deviation) are evaluated and compared through an empirical study based
on information from 17 indicators of economic development for 31 Iranian
provinces. To collect data, census of 20011 and yearbook in different time was
used.  Discussion Since
different sub-indicators are likely to have different measurement units,
normalization is usually done before data aggregation. Weight of individual
indicators exploited from Antropy-Shanon and PCA techniques. The five aggregations methods are applied to
the 31 Iranian provinces based on 17 individual economic indicators. Results demonstrated that different
aggregation methods tend to give different composite indicator and even different ranking orders.
However Tehran, Khozestan, Esfahan and Razavi Khorasan are considered by almost
most the aggregation methods as better performers in economic development.
Moreover North and South Khorasan, Sistan and Baluchestan, Lorestan, Ardabil
and Chaharmahal Bakhtiari are ranked in least position by almost most the
aggregation methods. We روش ایندکس گذاری clustered shall apply the Shannon-Spearman measure to evaluate
the five alternative methods in constructing composite indicator in a more comprehensive way. Results
of calculated the Shannon-Spearman measure revealed that TOPSIS method has the
smallest value while the Taxonomy and Optimum Deviation method have the largest
the Shannon-Spearman measure value. This indicates that the TOPSIS method is
the most appropriate with regards to the information loss criterion. In
contrast, the Taxonomy and Optimum Deviation method may not be a good choice
because it often results in the maximum loss of information. It is also found
that except TOPSIS, other four methods are highly correlated with each other.
This indicates that different methods are complementary to each other. Based on
information from five composite indicator development level of province were
classified through cluster analysis. The spatial pattern is divided into six
clusters: Tehran (cluster 1-1), Khozestan (cluster 1-2), Esfahan (cluster 2-1)
and other province (cluster 2-2). Recent cluster include two sub-clusters sub-cluster
(2-2-1) contain 10 provinces and sub-cluster (2-2-2) contain 18 provinces which
were in low development level. These results indicate that the gap between the
economic development of provinces and has been emphasized in several studies. Conclusion In
recent years, different methods have been widely explored in constructing composite
indicators. A problem faced by researchers is to determine the most suitable
method to apply. Zhou et al. (2006) developed an empirical criterion called the
Shannon-Spearman measure for comparing alternative aggregation methods in
constructing composite indicators based on the concept of information loss.
This paper applies the Shannon-Spearman measure, spearman correlation
coefficient and coefficient of variation (CV) to assess the effectiveness of
the different method of constructing composite indicators in practice. Results demonstrates
that the Shannon-Spearman measure could be an effective measure for comparing
aggregation methods in constructing of composite indicators. The case studies presented show that the TOPSIS
method is the most appropriate with regards to the information loss criterion.
In contrast, the Taxonomy and revised Optimum Deviation method may not be a
good choice because it often results in the maximum loss of information. It is
also found that the different methods are complementary to each other. Â Some
recommendations are provided include: Decentralization policy and make more
attention to less developed province such Sistan and Baluchestan, Lorestan, Ardabil, Chaharmahal
Bakhtiari, South Khorasn and North Khorasan. Appling Shannon-Spearman measure in different
indicator and for other composite indicators methods in the future research
should be considered. The application
of quantitative methods more cautious should be considered and fitted with the regional
facts. Future
research is needed especially its sensitivity should be evaluated when the numbers
of compared units are changing. Â Moreover
it should be noted that different ranking caused from nature of individual
indicator, weighing method, normalization and aggregating methods. The results
of each method is complementary to other methods and simultaneously use and
compare them often a better guide for the assessment of regional development. As
well as other aspects of development through the use of socio-economic indicators
and measures proposed in this research is recommended in future works. Finally, this research is not able to judge
which method is the most appropriate since these results are obtained based on
a specific decision matrix. Key
words: Aggregating of
indicator, regional development, multi attribute decision making, indicators of
developmentÂ
روش ایندکس گذاری clustered
با سلام به تمامی دوستان گرامی:
چه مواقعی باید یکی از ستونهایمان را بصورت ایندکس در بیاوریم.
چیزی که خودم می دونم اینه که شاید ایندکس برای ستونهایی است که بیشتر از همه جستجو
می شه
یا شایدم روشی باشه برای join کردن چند تا جدول با همدیگه
اصلا اگر ایندکس نکنیم چه ضرری داره؟
اگر کسی بتونه با مثال برام توضیح بده ممنون می شم از وقت ایشان
شاید ایندکس کمک می کند تا دیتا بیس بر اساس یک ستون بصورت فیزیکی مرتب شود.
ایندکس بیشتر به درد سرعت مرتب کردن یک جدول می خوره order by
یا سرعت در سرچ کردن یک ستون (where)
با سلام به تمامی دوستان گرامی:
چه مواقعی باید یکی از ستونهایمان را بصورت ایندکس در بیاوریم.
چیزی که خودم می دونم اینه که شاید ایندکس برای ستونهایی است که بیشتر از همه جستجو
می شه
یا شایدم روشی باشه برای join کردن چند تا جدول با همدیگه
اصلا اگر ایندکس نکنیم چه ضرری داره؟
اگر کسی بتونه با مثال برام توضیح بده ممنون می شم از وقت ایشان
با سلام خدمت دوستان اگر متن زیر را بخوانید در انتها خودتان پاسخ را متوجه می شوید.
ولی پاسخ سریع اینکه اگر حجم داده ها بالا باشه ایندکس خیلی سرعت کار رو افزایش میده ولی اگر ایندکس نزده باشی سیستمی که فروختی یک هفته ای (اگر حجم اطلاعاتش بالا باشه) بر می گردونن یا چیزای دیگه خدمتتون میگن:عصبانی: به همین راحتی در مورد مثال هم اول متن رو بخونید بعدا بهش با مثال می پردازیم.
در این پاسخ می خواهم کمی به دورن ایندکس سری بزنیم تا بتوانم موضوع ایندکس این مسئله خیلی مهم که برخی به آن کمتر اهمیت می دهند بپردازیم.
مقدمه :
ایندکس های همانند فهرست یک کتاب عمل میکنند اگر به دنبال مطلب خاصی از یک کتاب باشید به فهرست راهنما ( که معمولا در آخر کتب وجود دارند ) مراجعه نموده و به کمک آن می توانید به سرعت صفحه یا صفحاتی که حاوی موضوع مورد نظر شما است راپیدا کنید و به آن مطلب مراجعه نمائید
در MS-SQL Server نیز وقتی به دنبال یک سطر خاص جستجو میباشید ، سرور با استفاده از ایندکس محل فیزیکی سطر مورد نظر را با سرعت بیشتری پیدا می کند .
راه دیگری برای دسترسی به داده ها موجود در یک ( یا چند) جدول روش table scan یا Sequential ( جستجوی پیاپی) است در این روش سرور سطرهای جدول را از ابتدا ی جدول ، یک به یک بررسی می کند تا سطر ( یا سطرهای ) مورد نظر خود را پیدا کند . اگر جدول بسیار بزرگ باشد و سطر ( یا سطرها ) در روش ایندکس گذاری clustered اواسط یا انتهای جدول بلشد این جسجو مستلزم صرف زمان و منابع قابل توجهی خواهد بود با استفاده از ایندکس دیگر نیاز یبه استفاده از جستجوی پیاپی نخواهیم بود .
دلایل استفاده از ایندکس:
1- سازمان دهی داده ها
2- افزایش سرعت عملیات بازیابی یا تغییر داده ها ( این موضوع قابل بحث است)
3- اعمال یکتایی
کالبد شکافی اجرای یک درخواست
قبل ازاینکه وارد بحث اصلی بشویم خوب است ابتدا مراحلی که سرور برای اجرای یک درخواست انجام می دهد را کالبد شکافی کنیم ( برای همه از جمله خودم نیز خوب است )
1- تفکیک (parse) :درستی املائی درخواست و همه اشیاء مورد استفاده آن را بررسی می کند
2- بهینه سازی : سرور بهترین روش اجرای درخواست را تعیین میکند
3- ترجمه : سرور طرح اجرایی پرسش را می سازد
4- اجرا: طرح اجرای تولیدی مرحله 3 اجرا میگردد.
در مرحله 2 سرور باید تصمیمات متعددی را درباره نجوه پردازش پرسش و نیز درباره ایندکسهایی که باید مورد استفاده قرار گیرند ، اخذ نماید.:تشویق:
SQL Server برای بهینه سازی در خواست از روشی موسوم به بهینه سازی مبتی بر هزینه (Cost based) استفاده میکند یعنی سرور سعی میکند میزان حافظه در مراجعه به دیسک را به عنوان هزینه در نظز بگیرد و به دنبال کمترین هزینه می باشد فرآیند بهینه سازی در چهار مرحله انجام می شود
1- پیدا کردن آرگومان جستجو (Serach Argument)
2- تطبیق دادنSerach Argument با ایندکس های موجود ( که اینجا ایندکس خوب و مناسب سرعت کار را افزایش می دهد )
3- برآورد هزینه به ازاری هر ایندکس
4-انتخاب بهترین مسیر
در این قسمت با نحوه اجرای درخواست به طور کلی آشنا شدید البته ممکن است برخی کمی در این مورد بحث داشته باشند که خوشحال می شوم اشاره نمایند و در صورت وجود اطلاعات پاسخ آنها را بدهم.:شیطان:
خوب می رویم سر اصل مطلب :
ایندکس ها :
بطور کلی دو نوع ایندکس در MS SQL Server وجود دارد
Clustered Index ایندکس خوشه ای
Non Clustered Index ایندکس غیرخوشه ای که خود نیز به دو دسته تقسیم میشودند
ایندکسهای عیر خوشه ای روی یک پشته heap
ایندکسهای عیر خوشه ای روی ایندکس خوشه ای :متفکر::عصبانی++:
ایندکس خو شه ای :
ایندکس خوشه ای سطر های داده ها را بر مبنای کلید ایندکس ، واقعا مرتب می کندیعنی جدول به صورت فیزیکی بر مبنای کلید ایندکس مرتب می شود.
نکته :در SQL Server هر جدول تنها می تواند حاوی یک ایدکس خوشه ای باشدچرا؟ چون هر جدول را نمی توان بیش از یک ترتیب فیزیکی ، مرتب نمود.
اگر در جدول برای آن کلید اصلی تعریف کنید به صورت خودکار یک ایدکس خوشه ای برای آن ساخته می شود ( سئوال در جدوال واسط که چند کلید اصلی داریم چند ایندکس داریم ؟اگر کسی پاسخ صحیح بده 5جلد ebook مربوط به SQL Server 2008 جایزه می گیره :شیطان:( روح شیطانی من )
بچه ها من B*Tree را این بخش نیاورم ولی اگر کسی خواست در مراجعه بعدی اون مطرح می کنم و اون :کف:موقع هستش که ایندکس را بیشتر کالبد شکافی کرد.
ایندکس غیر خوشه ای :
ایندکس های غیر خو شه ای تفاوتی جزیی با ایندکس خو شه ای دارند . ایندکس غیر خوشه ای به جایی اینکه خود جدول را مرتب بکند جدول مجزایی را می سازد که حاوی مقادیر کلید مرتب شده است به این ترتیب هر جدول می تواند چندین ایندکس خوشه ای باشد
*****
خوب من که از تایپ کردن خسته شدم بریم ببینم چه نوع ایندکسی انتخاب کنیم در پاسخ های بعدی B*Tree و کالبد شکافی ایندکس و همچنین الزام برای استفاده از ایندکس خاص و سایر مسائل ایندکس رو می گویم ان شاء الله
****
توجه: ایندکس خوشه ای سریع تر از غیر خوشه ای است.
مهم
در اتنخاب ایندکس باید به مسائل زیر توجه کنید :
اگر به دنبال محدوده ای از مقادی در جداول بزرگ هستید از ایندکس خوشه ای استفاده کنید .
اگر خروجی ایندکس باید مرتب باشد از ایندکس خوشه ای استفاده کنید
اگر در ستونهایی پراکندگی داده ها زیاد است از ایندکس غیر خوشه ای استفاده کنید.
در نهایت وقتی به ایندکس فکر می کنید چند سئوال زیر را از خود بپرسید.
در جدوال
اگر در این جدول درج و تغییر رکورد زیاد صورت می گیرد ؟ اگر بله است از حداقل ایندکس استفاده کنید به نظر بنده همان خوشه ای کافیست زیرا ایندکس زیاد باعث کاهش سرعت درج و تغییر میشه
آیا این جدول بیشتر در گزارش گیری استفاده میشه ؟ تعداد درج و تغییر زیاد است ولی تعداد در خواست گزارش نیز خیلی خیلی زیاد ؟ تعداد ایندکس زیادی خوبه ولی بررسی کنید خودم از این مورد حسابی خوردم:گریه:
ایا حجم رکوردها بالا ست ولی هر درخواست کمتر از 4 درصداز رکوردهای جدول را جستجو میکنه ؟اگر بله است ایندکس گذاری منطقی کنید
در فیلد ها : یعنی کدوم فیلد رو ایندکس بزاریم
آیا این فیلد بیشتر در قسنت شرط می آید ؟ اگر بله روش ایندکس گذاری clustered است ایندکس گذاری کنید
آیا این فیلد در Join استفاده میشه؟ اگر بله است پس ایندکس بذار
دوستان خیلی مطلب را اشاره نکردم ولی اگر بخواهید بهش خواهیم پرداخت
به امید ایرانی آباد
یک-- فرق کلید اصلی با اندکس در چی هست؟ آیا کلید اصلی هم باعث مرتب شدن فیزیکی جدول می شه؟
چه لوزومی داره که کلید اصلی را تعریف کنید اگر ایندکس خوشه ای است ؟
یا برعکس چه لزومی داره که اندکس خوشه ای تعریف کنیم اگر کلید اصلی است؟
کلید اصلی به تنهایی چه نقشی را بازی می کند اگر ایندکسش نکیم؟
دو --ایندکس غیر خوشه ای به چه میزان حجم فایل را افزایش می دهد.؟
یعنی این جداول کمکی که ساخته می شود هجمشان چه نسبتی با جدول اصلی دارد.؟
برای هر فیلد اندکس شده ی غیره خوشه ای چند جدول فرعی درست می شود؟
سه -- چرا اسم خوشه ای برای این نوع در نظر گرفته اند؟ مثلا شاید اسامی مثل داینامیک یا فیزیکال یا ترتیبی برای این حالت بهتر نبود؟
چهار -- در جایی خواندم که دیگر ترتیب فیزیکی در جداول معنای روش ایندکس گذاری clustered خاصی ندارد. (که به نظر من درست نیست و ترتیب فیزیکی به هر حال ارزش دارد)
در مورد ترتیب فیزکی یک مشکل وجود دارد.
اگر یک رکورد بخواهد به وسط رکورد ها اضافه شود باید همه رکوردها بعد از آن، اول دونه دونه جابه جا شوند آن هم به صورت فیزیکی بعد که یک جای خالی بوجود آمد آن رکورد را داخلش قرار بدهد. این به نظر خیلی وقت گیر هست و از طرف دیگه هاردها اصولا چیزی به نام ترتیب حقیقی فیزیکی ندارند. جز در پارتیشن بندی.
مثلا اگر کسی خیلی خیلی از درایو f: خودش استفاده کنه تنها یک بخش فیزیکی مشخص از هاردش نخ نما می شه. ولی در مورد یک فایل این گونه نیست یک فایل واقعا در کل هارد پخش می شه. (هزار تیکه مثل جیگر زلیخا) .
آیا این حرف ها درست است؟
شاید لازم باشد برای هر کدام از این سوال های یک تاپیک جدا می ساختم
در ضمن از پاسخ شما و پیگیری این مطلب بسیار تشکر می کنم:تشویق:
دوست عزیز، آقای MIRNIA چرا در جاهایی که می خواهی کمک کنی بجای آیکون فرشته آیکون شیطان گذاشته ای؟
گر در جدول برای آن کلید اصلی تعریف کنید به صورت خودکار یک ایدکس خوشه ای برای آن ساخته می شود ( سئوال در جدوال واسط که چند کلید اصلی داریم چند ایندکس داریم ؟اگر کسی پاسخ صحیح بده 5جلد ebook مربوط به SQL Server 2008 جایزه می گیره :شیطان:( روح شیطانی من )
در این قسمت با نحوه اجرای درخواست به طور کلی آشنا شدید البته ممکن است برخی کمی در این مورد بحث داشته باشند که خوشحال می شوم اشاره نمایند و روش ایندکس گذاری clustered در صورت وجود اطلاعات پاسخ آنها را بدهم.:شیطان:
یک--
1-1 فرق کلید اصلی با اندیکس در چی هست؟
1-2آیا کلید اصلی هم باعث مرتب شدن فیزیکی جدول می شه؟
1-3چه لوزومی داره که کلید اصلی را تعریف کنید اگر ایندکس خوشه ای است ؟
1-4یا برعکس چه لزومی داره که اندکس خوشه ای تعریف کنیم اگر کلید اصلی است؟
1-5کلید اصلی به تنهایی چه نقشی را بازی می کند اگر ایندکسش نکیم؟
با سلام خدمت شما ( پاسخ به سوالات را چون شامل چند بخش است با *-1 جدا نمودم )
دراین بخش به سوالات ازیستنسیالیسم شما (یعنی چالش بر انگیز (یکی از دوستانم می گفت )) پاسخ می دهم امید وارم که بتونم جواب قانع کننده ای بدهم .
1-1اولین تفاوتی اساسی که بین کلید اصلی و ایندکس اگر Unique نباشد در این است که در کلید اصلی باید داده ها یکتا باشند ولی در ایندکس اشاره شده می توانند داده ها یکسان باشند .
1-2 بله به علت اینکه شما وقتی کلید اصلی در جدول ایجاد می کنید باعث به وجود آمدن یک ایندکس خوشه ای به صورت اتوماتیک می شه.
1-3 اولا بسیاری از قوانین پایگاه داده ای نقض مشه:متعجب:ثانیا چون ممکن ایندکس unique نباشه
1-4 عزیرم ایندکس خوشه ای وقتی کلید اصلی تعریف میشه به وجود می آید مگر اینکه خودت دستکاری کنی که یکی از موارد اینکه سرعت کاهش پیدا میکنه ما ایندکس گذاری می کنیم که سرعت افزایش پیدا کنه:گریه:
1-5 نقش کلید اصلی را پیدا میکنه:عصبانی:و هم اینکه سرعتت کم میشه :گریه::گریه::گریه:
دو --ایندکس غیر خوشه ای به چه میزان حجم فایل را افزایش می روش ایندکس گذاری clustered دهد.؟
یعنی این جداول کمکی که ساخته می شود هجمشان چه نسبتی با جدول اصلی دارد.؟
برای هر فیلد اندکس شده ی غیره خوشه ای چند جدول فرعی درست می شود؟
در کلیه موارد بالا بستگی به حجمش داره
سه -- چرا اسم خوشه ای برای این نوع در نظر گرفته اند؟ مثلا شاید اسامی مثل داینامیک یا فیزیکال یا ترتیبی برای این حالت بهتر نبود؟
نه اگر مفهوم B*tree را کاملا بدونی این نام بهترین اسم هستش.
چهار -- در جایی خواندم که دیگر ترتیب فیزیکی در جداول معنای خاصی ندارد. (که به نظر من درست نیست و ترتیب فیزیکی به هر حال ارزش دارد)
در مورد ترتیب فیزکی یک مشکل وجود دارد.
اگر یک رکورد بخواهد به وسط رکورد ها اضافه شود باید همه رکوردها بعد از آن، اول دونه دونه جابه جا شوند آن هم به صورت فیزیکی بعد که یک جای خالی بوجود آمد آن رکورد را داخلش قرار بدهد. این به نظر خیلی وقت گیر هست و از طرف دیگه هاردها اصولا چیزی به نام ترتیب حقیقی فیزیکی ندارند. جز در پارتیشن بندی.
مثلا اگر کسی خیلی خیلی از درایو f: خودش استفاده کنه تنها یک بخش فیزیکی مشخص از هاردش نخ نما می شه. ولی در مورد یک فایل این گونه نیست یک فایل واقعا در کل هارد پخش می شه. (هزار تیکه مثل جیگر زلیخا) .
آیا این حرف ها درست است؟
در این زمینه لطفا منبع را نام ببرید ولی الان نمی تونم به این سئوال پاسخ بدم باید بیشتر بررسی کنم .
من دیگه داغ کردم با این سوالات چالش بر نگیزت :عصبانی++::عصبانی::عصبانی++:
دیدگاه شما